Voilà :
autocmd BufReadPost,FileReadPost,BufNewFile,BufEnter * call system("tmux rename-window 'vim | " . expand("%:t") . "'")
Décomposition:
autocmd BufReadPost,FileReadPost,BufNewFile,BufEnter * call
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:
call system()
Appelez une fonction système et passez-lui le texte:
"tmux rename-window 'vim | "
Renommez la fenêtre actuelle avec une chaîne commençant par vim |
. expand("%:t")
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):
system("tmux rename-window 'vim | .vimrc'")
Comme @erthalion l'a dit dans le commentaire, vous pouvez nettoyer en quittant vim avec:
autocmd VimLeave * call system("tmux rename-window 'tmux'")