Digamos que tengo un montón de pestañas abiertas en Vim, con una línea de tabulación que se parece a esto:
1 v/file1.py 2 t/file.py 1 t/file.py 1 o/otherfile.py
¿Ves cómo dos pestañas dicen "t / file.py"? Esos son archivos diferentes, simplemente se convierten en la misma etiqueta de pestaña.
En mi flujo de trabajo, los títulos de las pestañas suelen ser ambiguos (sí, para Chef nombrando todo "default.rb") o poco útiles ("Sé que una de estas 8 pestañas con 4 buffers tiene el archivo que estoy buscando ...").
Me gustaría cambiar el nombre de las pestañas para indicar lo que representan lógicamente:
1 homepage_view 2 tests 1 homepage_template 1 o/otherfile.py
Estoy bien con las pestañas predeterminadas a una etiqueta basada en nombre de archivo, siempre que pueda cambiarla una vez que se haya creado la pestaña.
¿Cómo puedo hacer esto en Vim?
:help setting-tabline
(para vim en una terminal) o:help setting-guitablabel
(para gvim). Podría escribir una función que verifique una variable local de tabulación y devuelva eso o algo predeterminado. Entonces, después de abrir una pestaña,:let t:mytablabel = 'homepage_template'
.Respuestas:
Hay un pequeño plugin llamado Taboo que lo hace fácil. Simplemente instálelo y luego puede cambiar el título de la pestaña con:
Puede consultar el código fuente de ese complemento si está interesado en escribir su propia solución.
fuente
Taboo
es fantastico.TabooReset
yTabooRename
literalmente alterna dos "modos" de Tab-line ==> una pestaña con nombre de Taboo , y una pestaña con nombre automático de Vim. Esto replica perfectamente el " Windows nombrado " de Tmux. Mejor aún, las pestañas nombradas en Taboo se pueden restaurar usando Startify (o en cualquier otra herramienta para guardar sesiones).Para gvim, vea
Establezca la opción en una expresión que se evalúe como
t:mytablabel
(una variable local de tabulación) si existe, o bien en una cadena vacía (lo que significa usar el valor predeterminado):Tal vez eso ya sea demasiado complicado, o tal vez quieras ser más elegante. En ese caso, defina una función:
Luego, en cualquier pestaña donde desee anular el valor predeterminado, haga algo como
Si está utilizando vim en un terminal, no gvim, entonces debe configurar la
'tabline'
opción en lugar de'guitablable'
. Esto es un poco más complicado, ya que necesita una sola expresión que incluya etiquetas para todas las pestañas abiertas. Hay un ejemplo completo enfuente