2009-11-04 18 views
11

vim çıkışlarından önce bazı son komutları çalıştırmak için "vim-close/exit" -Event gibi bir şey kullanmak mümkün mü?.vimrc aksiyon onclose

eğer $ TERM == 'xterm-color'

exe "set title titlestring=vim:%t" 
exe "set title t_ts=\<ESC>k t_fs=\<ESC>\\" 

endif

:

Ben vim benim ekran başlık ayarlamasına izin vermek, benim config bu satırları kullanmak

ama vim'i kapattığımda, başlık şöyle ayarlanır: "Vim için teşekkürler" (nereden geliyorsa gelsin) ...

Amacım, başlığa sıfırlamak için - eğer mümkünse - ve eğer değilse - set "exe" gibi bir şeyle "exe" --Command

Yani .. " -Vim?

Teşekkür :)

cevap

12

Evet, bir "yakın olay" var - bunlardan aslında iki. yardım {etkinlik}:

  Startup and exit 
|VimEnter|    after doing all the startup stuff 
|GUIEnter|    after starting the GUI successfully 
|TermResponse| after the terminal response to |t_RV| is received 

|VimLeavePre|  before exiting Vim, before writing the viminfo file 
|VimLeave|    before exiting Vim, after writing the viminfo file 

Sen VimLeave -Olay peşindeler
Vim alıntı.
Bir çalışma örneği aşağıdaki gibidir: anormal çıkış durumları yakalamak için ölmekte: Ayrıca

function! ResetTitle() 
    " disable vim's ability to set the title 
    exec "set title t_ts='' t_fs=''" 

    " and restore it to 'bash' 
    exec ":!echo -e '\033kbash\033\\'\<CR>" 
endfunction 

au VimLeave * silent call ResetTitle() 

Eğer v kullanabilirsiniz. & titleold = yedek (getcwd(), $ HOME "~", '') vim var gibi gözüküyor izin:

+0

büyük büyük teşekkürler ... biraz i VimLeave hiç işten sonra bir serin bir alternatif buldum yorumunuz tamamen doğru değil @Beerweasle o çıkışta :) üzerinde düzelten bir titleold, Şimdi setleri ~/benim/yol Thats :) – Beerweasle

+0

soğutmak, bu & titleold = yedek (getcwd(), $ let 'olmalı ANASAYFA, "~", "") Ama fikir için çok teşekkürler! – Alf

İlgili konular