2010-01-20 5 views
6

posso ottenere il titolo vim per visualizzare sulla mia finestra in questo modo:Come posso ottenere il file che ho aperto in vim da visualizzare nella mia scheda 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 

Ma le linguette dirò "Default" .

da linea di comando posso fare questo:

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

E che faccio vedere "Ciao Mondo" nelle mie schede.

C'è un modo per fare scrivere questa roba alla mia tab invece di title?

risposta

4

Non ho iTerm, quindi non posso provare questo, ma prova ad aggiungere questo per your .vimrc:

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

Tipo CTRL-V Escape per ^[ e CTRL-V CTRL-G per ^G.

+0

funziona a meraviglia. –

+0

Sfortunatamente, questo non lo fa per me. Ho la versione notturna di iTerm e vim 7.4.488. L'impostazione di questi nel mio Vimrc non ha alcun effetto sul titolo della scheda. L'utilizzo del comando echo -e nelle Domande frequenti di iTerm2 funziona per me: http://iterm2.com/faq.html –

+0

Lo stesso risultato sull'ultimo iTerm2 stabile. –

0

Questo è ciò che ha funzionato per me:

" 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() 

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