2010-01-20 18 views
6

que puedo conseguir el título vim mostrar en mi ventana al hacer esto:¿Cómo puedo obtener el archivo que tengo abierta en vim para mostrar en mi pestaña iTerm

let &titlestring = expand("%:t") . " @ " . hostname() 
if &term == "screen" 
    set t_ts=^[k 
    set t_fs=^[\ 
endif 
if &term == "screen" || &term == "xterm" 
    set title 
endif 

Pero las pestañas a decir "por defecto" .

Desde la línea de comandos que puedo hacer esto:

echo -ne "\e]1;hello world\a"

Y que voy a mostrar "Hello World" en mis pestañas.

¿Hay alguna manera de que vim escriba esto en mi pestaña en lugar de título?

Respuesta

4

que no tienen iTerm, por lo que no se puede probar esto, pero trate de añadir esto a your .vimrc:

set t_ts=^[]1; 
set t_fs=^G 

Tipo CTRL-V Escape para ^[ y CTRL-V CTRL-G para ^G.

+0

funciona de maravilla. –

+0

Desafortunadamente, esto no lo está haciendo por mí. Tengo la versión nocturna de iTerm y vim 7.4.488. Establecerlos en mi vimrc no tiene ningún efecto en el título de la pestaña. El uso del comando echo -e en las preguntas frecuentes de iTerm2 funciona para mí: http://iterm2.com/faq.html –

+0

Mismo resultado en el último iTerm2 estable. –

0

Esto es lo que funcionó para mí:

" Set the title of the Terminal to the currently open file 
function! SetTerminalTitle() 
    let titleString = expand('%:t') 
    if len(titleString) > 0 
     let &titlestring = expand('%:t') 
     " this is the format iTerm2 expects when setting the window title 
     let args = "\033];".&titlestring."\007" 
     let cmd = 'silent !echo -e "'.args.'"' 
     execute cmd 
     redraw! 
    endif 
endfunction 

autocmd BufEnter * call SetTerminalTitle() 

Fuente: https://gist.github.com/bignimbus/1da46a18416da4119778

Cuestiones relacionadas