Pregunta:
Siempre que abro una sesión tmux en la terminal, todas las pestañas que contienen sesiones vim están etiquetadas como vim
.
Mi pregunta es: ¿Cómo configurarlo para etiquetar las pestañas tmux con el nombre del archivo editado o algo como vim | test.cpp
utilizado como título de las pestañas en cuestión.
Respuesta:
Ahí tienes:
autocmd BufReadPost,FileReadPost,BufNewFile,BufEnter * call system("tmux rename-window 'vim | " . expand("%:t") . "'")
Descomposición:
autocmd BufReadPost,FileReadPost,BufNewFile,BufEnter * call
En el evento de lectura de búfer, lectura de archivo o nuevo archivo de búfer (ver :help autocmd-events
) ejecute el siguiente comando:
call system()
Llame a una función del sistema y pásele el texto:
"tmux rename-window 'vim | "
Cambie el nombre de la ventana actual con una cadena que comience con vim |
. expand("%:t")
Agregue a la cadena el nombre del archivo (vea este artículo para el formato y esta publicación para expandir la inserción)
. "'"
Agregue el final '
para cerrar el comando.
Después de expandirlo se verá (mientras edita el archivo .vimrc):
system("tmux rename-window 'vim | .vimrc'")
Como dijo @erthalion en el comentario, puede limpiar al dejar vim con:
autocmd VimLeave * call system("tmux rename-window 'tmux'")