Chaque fois que j'ouvre une session tmux dans le terminal, tous les onglets contenant les sessions vim sont étiquetés vim
.
Ma question est: comment le configurer pour étiqueter les onglets tmux avec le nom du fichier modifié ou quelque chose comme vim | test.cpp
utilisé comme titre des onglets en question.
Réponses:
Voilà :
Décomposition:
Lors de la lecture du tampon, de la lecture du fichier ou de la mise en tampon d'un nouvel événement de fichier (voir
:help autocmd-events
), exécutez la commande suivante:Appelez une fonction système et passez-lui le texte:
Renommez la fenêtre actuelle avec une chaîne commençant par
vim |
Ajoutez à la chaîne le nom de fichier (voir cet article pour la mise en forme et ce post pour l'insertion expand)
Ajoutez la finale
'
pour fermer la commande.Après l'avoir développé, il ressemblera (lors de la modification du fichier .vimrc):
Comme @erthalion l'a dit dans le commentaire, vous pouvez nettoyer en quittant vim avec:
la source
BufEnter
événement dans cette liste (pour changer l'étiquette même lorsque nous basculons entre les tampons existants), et quelque chose comme çaautocmd VimLeave * call system("tmux rename-window 'tmux'")
pour le nettoyage.Pour restaurer le schéma de nommage tmux par défaut lorsque vous quittez vim, vous pouvez également faire:
la source
C'est ce que j'ai mis dans mon vimrc grâce à la réponse de @raphael
J'installe également le plugin tmux-plugins / vim-tmux-focus-events pour les événements FocusGained et FocusLost.
la source