5 des Meilleurs Plugins de Productivité pour Tmux

Une image d'une personne travaillant devant un ordinateur.

Tmux est un excellent multiplexeur de terminal qui peut consolider et gérer différentes sessions de console. Bien que ses fonctionnalités de base couvrent la plupart des cas d’utilisation, il dispose également d’un cadre de plugins qui vous permet de façonner le programme selon vos besoins. Dans cet article, je vais passer en revue certains des meilleurs plugins pour Tmux qui peuvent aider à optimiser votre flux de travail dans le terminal.

1. tmux-menus

Si vous êtes nouveau dans Tmux, apprendre chaque raccourci peut être délicat et décourageant. Avec ses raccourcis enchaînés peu intuitifs, il est facile d’oublier les raccourcis pour des fonctionnalités moins connues de Tmux telles que le mode de copie et le marquage de panneau.

Un terminal montrant une configuration Tmux multi-panneaux avec un panneau marqué et un panneau en mode copie.

Tmux-menus est un plugin simple qui aborde ce problème. Il fournit un menu TUI propre et intuitif auquel vous pouvez accéder en appuyant sur Ctrl + \ (barre oblique inverse). À l’intérieur, il contient chaque fonction Tmux, vous permettant de sélectionner visuellement ce dont vous avez besoin au lieu de mémoriser leurs raccourcis clavier.

Un terminal montrant le plugin tmux-menus en action.

En plus de rendre Tmux accessible, une qualité que j’apprécie dans Tmux-menus est sa configurabilité. Chaque élément de menu à l’intérieur du plugin est juste un lien vers un script shell. Cela signifie qu’avec un peu de savoir-faire en Bash, vous pouvez facilement inclure des fonctions personnalisées dans Tmux-menus.

Un terminal montrant le menu de configuration personnalisé

2. tmux-resurrect

L’un des plus grands points de douleur de Tmux est qu’il s’agit d’un programme sans état. Cela signifie qu’il ne se souviendra de rien sur la session lorsque vous la fermez. Personnellement, je trouve cela frustrant car cela m’oblige à refaire ma disposition Tmux chaque fois que je redémarre mon ordinateur.

Un terminal montrant une session Tmux déconnectée abruptement.

Tmux-resurrect est un outil qui peut aider à résoudre ce problème. C’est un plugin sans fioritures qui préserve des environnements Tmux entiers, y compris l’ordre des fenêtres et la disposition des panneaux. Il stocke également des instantanés incrémentiels de vos sessions, ce qui signifie que vous pouvez “revenir dans le temps” et charger différentes versions de votre configuration Tmux.

Un terminal montrant les détails d'une disposition Tmux.

Une autre fonctionnalité que j’apprécie dans Tmux-resurrect est qu’il peut sauvegarder l’état d’un programme en cours d’exécution. Certes, l’implémentation n’est pas parfaite, et la fonctionnalité ne couvre qu’une poignée d’applications. Cependant, le plugin gère cela suffisamment bien pour rendre votre configuration Tmux plus fluide.

Un terminal montrant le processus de restauration dans tmux-resurrect qui inclut la récupération de l'état du programme.

Bon à savoir : intéressé par la façon dont Tmux-resurrect fait sa magie ? Plongez profondément dans la façon dont Tmux gère les fenêtres et les panneaux dans une session.

3. tmux-notify

Suivre les programmes en arrière-plan peut être difficile si vous jonglez avec plusieurs panneaux et sessions Tmux. Dans mon expérience, cela a conduit à des moments où j’ai oublié que j’avais une commande en cours d’exécution en arrière-plan et que j’ai accidentellement fermé Tmux.

Un terminal montrant des sessions Tmux récemment fermées.

Tmux-notify est un plugin qui envoie une notification lorsqu’il détecte un processus terminé. Il fonctionne en vérifiant tout panneau Tmux actif qui vient de passer à un invite de shell Bash. Le plugin envoie ensuite un message libnotify, qui peut être soit une alerte visuelle du terminal, soit un bip audible.

Un terminal montrant la notification toast libnotify pour la tâche Tmux en cours.

Bien que ce style de notification fonctionne pour la plupart des utilisateurs, Tmux-notify offre également un support pour les bots Telegram, les alertes Pushover et des commandes personnalisées. Cela rend possible l’intégration de Tmux-notify dans presque tous les flux de travail, ce qui en fait une option attrayante pour les bidouilleurs qui souhaitent peaufiner leur configuration de terminal.

En passant : êtes-vous nouveau dans la ligne de commande ? Commencez votre parcours du bon pied en consultant notre guide pour débutants sur l’utilisation du terminal Linux.

4. tmux-jump

La navigation dans les tampons est sans doute l’une des parties les plus maladroites de Tmux. Le multiplexeur ne fournit aucun raccourci clavier intégré pour le mouvement en dehors du mode de copie et de la mise au point de la fenêtre. En tant que personne qui utilise Tmux pour des tâches de productivité quotidiennes, je trouve cette bizarrerie à la fois fastidieuse et frustrante, surtout pour de longues sessions de terminal.

Tmux-jump résout ce problème en rendant la navigation dans les panneaux Tmux à la fois facile et intuitive. S’inspirant de Vimium, il utilise des indices de mots-clés pour créer des “points de saut” à l’intérieur de vos fenêtres Tmux. Cela vous permet de vous déplacer rapidement à l’intérieur de Tmux sans vous fier à ses raccourcis complexes.

Un terminal montrant les indices de mots-clés dans Tmux-jump.

Tmux-jump brille le plus lorsque vous le combinez avec des plugins comme EasyMotion pour Vim. Dans mon cas, cette configuration crée un flux de travail cohérent où le terminal et l’éditeur de texte suivent les mêmes raccourcis de mouvement. Cela les fait se comporter de manière similaire à un IDE, ce qui est difficile à reproduire pour des programmes complets comme Emacs.

Un terminal montrant les indices de mots-clés fonctionnant dans une configuration Tmux multi-panneaux.

5. treemux

Treemux est un puissant plugin qui intègre de manière transparente le navigateur de fichiers en style arbre de Neovim avec Tmux. Il peut naviguer dans les dossiers, ouvrir des fichiers et même afficher le répertoire de travail actuel. Cela en fait un plugin inestimable si vous souhaitez créer un IDE basé sur Neovim à l’intérieur de Tmux.

Un terminal montrant le plugin Treemux en action sur un panneau Tmux.

Le développeur de Treemux a également conçu le plugin pour être aussi discret que possible. Il ne s’affiche pas par défaut et ajuste sa taille en fonction du panneau auquel il est attaché. En tant que tel, Treemux est un excellent plugin si vous préférez un terminal “zen” avec des distractions minimales.

Un terminal montrant le plugin Treemux en action sur des panneaux individuels.

Enfin, Treemux a quelques extensions Neovim qui élargissent l’ensemble des fonctionnalités par défaut du plugin. Tmuxsend.vim ajoute le support pour envoyer le chemin complet de Treemux à Tmux, rendant les références de fichiers rapides et faciles. Pendant ce temps, nvim-tree-remote.nvim vous permet d’ouvrir des fichiers dans Treemux en double-cliquant dessus avec la souris.

À la fin de la journée, Tmux n’est qu’un programme multiplexeur et ces plugins ne feront qu’étendre ce qu’il fait actuellement. Si vous cherchez à élargir ce que le terminal peut faire pour vous, consultez comment mon collègue a amélioré son terminal avec quelques excellentes applications.

Crédit image : Grok via x.ai. Toutes les modifications et captures d’écran par Ramces Red.