簡體   English   中英

Vim:結合autocmd?

[英]Vim: Combining autocmd?

我需要在vim中執行邏輯和兩個autocmd事件。 基本上,當FileType為tex時,該命令必須在InsertLeave上運行。 看起來這應該工作(在.vimrc中):

autocmd FileType tex :autocmd InsertLeave :w

但事實並非如此。 嵌套選項似乎也沒有幫助,即使手冊指出它應該。

它易於做邏輯或:

autocmd BufEnter,BufLeave ...

做邏輯AND一定不是太難。

我對@Eevee的答案進行了修正:要使自動命令僅適用於一個緩沖區,你應該使用

augroup TexAutoWrite
    autocmd FileType tex :autocmd! TexAutoWrite InsertLeave <buffer> :update
augroup END

,見`:h autocmd-buflocal。

InsertLeave仍然需要一個參數。

這對我有用:

autocmd FileType tex :autocmd InsertLeave * :w

請注意,如果稍后在同一緩沖區中編輯非tex文件,則此行為將保留。 我不知道是否有一個簡單的方法編輯任何東西,但某種類型的文件時將其刪除。

您可以使用autocmnd的pattern選項。

autocmd InsertLeave *.tex w

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM