2010-11-07 19 views

回答

10

Vim允許在所有模式,包括命令行模式的添加鍵映射爲命令,這樣你就可以定義這些映射(在你的.vimrc):

:cnoreabbrev wq w<bar>bd 
:cnoreabbrev q bd 

的命令告訴Vim在按下瓦特q必須在命令行中擴展爲w|bd,並且同樣地將q轉換爲bd。有關更多詳情,請參閱:help key-mapping

+13

-1。請不要使用'cnoremap'!這將在任何命令中擴展q。例如':set cscopequickfix'將展開爲':set cscopebduickfix'。改用':cnoreabbrev'!請參閱此幫助。 – Benoit 2010-11-07 08:49:48

+0

您的第一個cnoremap將不起作用。該行告訴Vim將命令模式wq重新映射到w,然後關閉當前的緩衝區 - 而不是將wq重新綁定到w | bd。 Benoits投訴也是有效的,但是,您可以這樣做:cnoremap wq w bd - 這將按預期工作。 – Sarah 2010-11-07 15:16:42

+4

莎拉,沒有。仍然'cnoreabbrev'更好,因爲如果你想把你的文件寫成'任何以wq結尾的東西',除非文件名完全是wq,否則縮寫不會被觸發。 – Benoit 2010-11-08 12:29:39