Regularmente entro en un clúster de Linux desde una terminal OS X (El Capitán), a veces con varias pestañas de terminal. Yo uso bash y vim.
Me gustaría hacer lo siguiente:
PROMPT_COMMAND='printf "\e]1;"`basename $PWD`"\a"'
Aquí están mis problemas:
let &titlestring = "vim — " . expand("%:t")
y set title
en .vimrc, cambia el título de la ventana de Terminal , no el título de la pestaña. Si no configuro por separado el título de la pestaña (parámetro 1), el título de la pestaña refleja el título de la ventana (parámetro 2), pero tan pronto como configuro el título de la pestaña, se "desacopla" del título de la ventana.:!
, obtengo un cuadro de diálogo "Presione ENTRAR" que es molesto.:silent !
en .vimrc , mi indicador de Terminal termina en la parte inferior de la pantalla después de salir de vim. Realmente no quiero perder el tiempo guardando la posición del aviso y reiniciándola cada vez que quiero usar vim.Si defino en mi .bashrc la siguiente función:
function vim
{
printf "\e]1;"`basename "$1"`"\a"
vim "$1"
}
luego mi terminal falla al llamar vim
desde la línea de comandos. En cambio , llamar a la función vvim
funciona, pero no quiero escribir vvim
para siempre. Quiero alias vim
.
Así que parezco atascado. Cualquier consejo sería muy apreciado. ¡Gracias de antemano!
Bueno, he resuelto mi propio problema. Reprobé la programación 101.
Al definir vim como una función y luego llamar a vim, configuré un ciclo recursivo infinito. No es de extrañar que mi terminal se bloquee. Necesito llamar al vim "real", el ejecutable real. Esto hizo el truco:
function vim
{
printf "\e]1;"`basename "$1"`"\a"
/usr/bin/vim "$1"
}
Tomas Ahle
vim
ejecutar el comando printf. En su versión, si cambiamos el archivo, como con el complemento Ctrl+P, el nombre de la pestaña no se actualizará.