L'un des outils les plus largement utilisés dans le processus de développement Web est certainement le terminal. Pendant que vous travaillez sur un projet, vous êtes souvent obligé d'utiliser le terminal avec plusieurs onglets ouverts en même temps, un pour lancer un serveur Web local, un deuxième pour gérer la base de données, un autre pour copier des fichiers, etc. Cela peut vite devenir compliqué et difficile à gérer. Une solution à ce problème qui fonctionne bien pour moi est le multiplexeur de terminaux, tmux.
tmux
est un multiplexeur de terminaux: il permet de créer, d'accéder et de contrôler plusieurs terminaux, chacun exécutant un programme distinct, à partir d'un seul écran.
La définition ci-dessus, tirée de la tmux
le site Web est clair: à partir d’une fenêtre de terminal, nous pouvons démarrer et contrôler plusieurs autres terminaux et exécuter dans chacun d’eux une application différente ou une instance différente d’une application..
tmux
est développé sur un modèle client-serveur. Cela introduit dans le jeu le concept de sessions. Une session est stockée sur le serveur qui contient la représentation d’une fenêtre. Chaque fenêtre peut être liée à plusieurs sessions et déplacée entre elles.
D'autre part, plusieurs clients peuvent être attachés à chaque session. Ainsi, un ou plusieurs utilisateurs peuvent se connecter à un tmux
session de différents ordinateurs et ils partagent les mêmes informations sur la fenêtre. Ceci est extrêmement utile pour enseigner ou collaborer, car les utilisateurs partageant une tmux
session voir les mêmes informations sur leurs fenêtres de terminal.
Connexion à un tmux
La session se fait en lançant l'application avec la commande suivante:
tmux attach
Lorsqu'un utilisateur souhaite mettre fin à la fonctionnalité de partage de terminal, la commande suivante est utilisée:
tmux se détache
tmux
fonctionne sous Linux et Mac. Au moment de la rédaction de cet article, je ne connais pas de version Windows de l'application..
Pour la majorité des distributions Linux, il y a un paquet dans leurs référentiels:
Sur Arch (que j'utilise), l'installation consiste simplement à exécuter la commande suivante:
sudo pacman -S tmux
Après l'installation, vous pouvez commencer tmux
en lançant la commande tmux
dans une fenêtre de terminal. Si vous souhaitez le faire fonctionner automatiquement pour chaque session de terminal, un petit peu de configuration est nécessaire:
tmux
comme dans la capture d'écran ci-dessous: Si vous êtes sur Mac, iTerm2 est livré avec tmux
installé, et pour le démarrer, vous devez lancer la commande: tmux
.
Après l'installation, si vous ouvrez une fenêtre de terminal, la seule chose nouvelle que vous remarquerez est la présence d'une ligne d'état au bas de l'écran:
Jetons un coup d'œil aux fonctionnalités les plus courantes. Pour une liste complète des fonctionnalités, voir les liens à la fin de cet article..
Ou, en d'autres termes, diviser la fenêtre principale. Tout d'abord, je dois dire que chaque tmux
La commande est préfixée à l'aide de la combinaison de touches suivante:
. Cela peut être changé, mais nous allons apprendre à configurer et personnaliser tmux
plus tard.
Ainsi, afin de scinder une fenêtre verticalement (ou dans les volets droit et gauche), la commande suivante doit être utilisée:
%
et pour diviser la fenêtre en volets horizontaux, vous pouvez utiliser:
"
Et le résultat devrait ressembler à ceci:
Afin de déplacer le curseur d'un volet à l'autre (activation des volets), les touches fléchées sont utilisées. La commande ressemble à ceci:
[Haut, bas, droite, gauche]
Si vous souhaitez accéder au volet précédemment actif, vous pouvez utiliser la commande suivante:
;
De plus, si vous n'êtes pas satisfait de la position d'un volet, vous pouvez faire pivoter les volets à l'aide de la commande suivante:
Une fois créé, vous pouvez modifier la taille de chaque volet, en une étape de cellule, en utilisant:
ou en cinq cellules en utilisant:
Lorsque vous souhaitez fermer le volet actuel, vous pouvez utiliser:
X
Parfois, vous souhaiterez peut-être créer une autre fenêtre, par exemple pour travailler sur un autre projet. Cette fenêtre peut contenir un ensemble de volets complètement différent avec des programmes différents dans chacun d’eux. Pour ce faire, lancez la commande suivante:
c
Ensuite, si vous souhaitez passer à la fenêtre suivante, vous pouvez utiliser:
n
Et vous pouvez passer à la fenêtre précédente en utilisant:
p
Ou vous pouvez sélectionner la fenêtre de manière interactive avec:
w
Afin de fermer la fenêtre actuellement ouverte, vous utilisez:
Et
Supposons que vous ayez émis une commande sur le terminal et que la sortie de la commande ne tienne pas dans un seul écran. Vous devez donc faire défiler l'écran vers le haut pour voir la totalité de la sortie. Si vous essayez d'appuyer sur le Up clé, cela ne vous fera pas défiler, car il ne vous montrera que l'historique de vos commandes. Pour faire défiler l'écran, utilisez la commande suivante:
[
Et appuyez ensuite sur l'une des touches suivantes: Up
, Vers le bas
, PgUp
ou PgDn
faire défiler vers le haut ou le bas.
De plus, lorsque vous êtes dans ce mode, vous pouvez copier du texte de l'historique, puis le coller avec:
]
Pour sortir de cette insérer
mode, il suffit de frapper Esc.
Maintenant, il y a beaucoup d'autres commandes liées à différentes clés. Vous pouvez répertorier toutes les liaisons de clé en émettant:
?
tmux
est hautement configurable. Le fichier de configuration est soit /etc/tmux.conf
pour les paramètres du système ou (recommandé) ~ / .tmux.conf
pour les paramètres spécifiques à l'utilisateur.
Une des premières choses que la plupart des utilisateurs changent est le mappage de la clé de préfixe (depuis
ne semble pas être si pratique). La plupart des utilisateurs le changent en
. Cela peut être fait comme suit:
set -g prefix C-un unbind C-b bind C-un send-prefix
le -g
L'option de la première commande indique à tmux qu'il s'agit d'une option globale, ce qui signifie qu'elle est définie pour toutes les fenêtres et sessions..
Certains utilisateurs peuvent préférer Vi ou Emacs comme des liaisons pour les actions clés. Ceci est fait en utilisant:
set -g status-keys vi setw -g mode-keys vi
le setw
commande, définit l'option de la fenêtre (affecte tous les volets d'une fenêtre).
Vous pouvez effectuer différentes configurations de la ligne d'état: vous pouvez l'activer ou la désactiver, vous pouvez changer la couleur de l'arrière-plan et du premier plan, vous pouvez modifier les informations affichées à l'intérieur, etc..
Pour désactiver la barre d'état, exécutez la commande suivante:
activer le statut -g
Ou vous pouvez essayer quelque chose comme ceci:
set -g status-bg bleu set -g status-fg blanc setw -g statut-gauche #H: #S à #W: #T
… Qui change l’arrière-plan de la ligne d’état en bleu, la couleur du texte en blanc et affiche à gauche de la barre d’état le nom d’hôte de localhost, suivi de deux points et du nom de la session suivi de la chaîne 'at' et du nom de la fenêtre, deux points, et enfin le titre du volet.
Vous pouvez également afficher la ligne d'état en bas ou en haut de la fenêtre:
set -g status-position [en bas | Haut]
Pour plus d'informations sur la configuration et les autres options de configuration, consultez la section Options du manuel..
J'espère que vous avez trouvé cette introduction à tmux
utile pour améliorer votre flux de travail terminal. J'ai présenté ici quelques commandes que j'utilise le plus souvent. Si vous voulez en savoir plus, plusieurs ressources sont disponibles. Je recommande fortement:
tmux
sur Arch wiki