2016-06-15 19 views
1

我想做什麼:是否可以在vim中設置BufLeave autocmd?

在vim中的文件/緩衝區中,尤其是未命名的文件/緩衝區中(例如,使用:enew創建的),有時我覺得我寫的內容值得保存(比如說,我突然想通過電子郵件發送它),但不覺得特別需要將其保存到臨時文件,也不要相信自己足以在退出時「記住」保存它。

所以我想,如果我在vim的命令行運行

autocmd BufLeave * ggvG"+y 

什麼一次,從失去這個內容的恐懼。

但它不起作用。當我退出vim時,系統剪貼板提醒完好無損。

我的問題:

  • 它做任何事情,如果我們在飛行運行autocmd,在vimrc裏不是?
  • 有沒有辦法告訴vim「嘿,當你退出,運行這些」?

非常感謝!

回答

2

兩個問題:

1)您沒有離開緩衝到另一個緩衝區(BufLeave);你離開了Vim(VimLeave)。

2)autocmd需要一個命令,而不是普通模式的擊鍵。

考慮到這一點,

autocmd VimLeave * normal gg"+yG 
+0

你釘它。在實踐中,我會同時使用'VimLeave'和'BufLeave'來保證安全。萬分感謝! –

+2

':%y +'也可以。 –

相關問題