Je me retrouve souvent à faire la même chose avec tmux
:
cd
dans un répertoire donné.tmux
- Renommez la fenêtre de ce que je fais.
- Divisez la fenêtre verticalement de 50%.
- Démarrez un processus dans la fenêtre de gauche.
- Démarrez un autre processus dans la fenêtre de droite.
- Profit.
Existe-t-il un moyen d'automatiser le lancement de tout cela afin que je puisse exécuter une seule commande et obtenir la fenêtre que je recherche?
Réponses:
Archwiki sauve la journée! L'initialisation de session sur la page tmux donne un exemple.
Cela dit, au lieu de démarrer tmux as
tmux
,tmux new -s name
nommera la session au démarrage au lieu de lui donner un numéro.Initialisation de session
Vous pouvez demander à tmux d'ouvrir une session avec des fenêtres préchargées en incluant ces détails dans votre ~ / .tmux.conf:
Pour démarrer une session avec des fenêtres fractionnées (plusieurs volets), incluez la commande splitw sous la nouvelle fenêtre que vous souhaitez fractionner; Ainsi:
ouvrirait 2 fenêtres, la seconde serait nommée foo / bar et serait divisée verticalement en deux (50%) avec foo au-dessus de la barre. Le focus serait dans la fenêtre 2 (foo / bar), volet supérieur (foo).
Pour gérer plusieurs sessions, sourcez des fichiers de session distincts à partir de votre fichier conf:
la source
La réponse de Rob est excellente et explique exactement comment gérer les sessions depuis tmux lui-même. Maintenant, si cela ne vous dérange pas d'utiliser un outil tiers, tmuxinator est un excellent projet qui permet de créer et de gérer facilement des sessions .
Chaque session est contrôlée par un fichier de configuration qui vous permet de définir toutes vos fenêtres et volets ainsi que leurs dispositions et commandes par défaut à exécuter en leur sein. Il vous permet également de définir un répertoire de projet par défaut, un socket spécifique et des démons qui doivent être exécutés (par exemple mysql). Pour couronner le tout, il fournit également une méthode simple pour les attacher: exécutez simplement
mux [session-name]
et il démarrera la session ou s'y attachera s'il est déjà en cours d'exécution. Je l'utilise depuis un petit moment maintenant et je l'adore (merci aziz !).https://github.com/aziz/tmuxinator
la source