在vim中,當我點擊:wq
時,嘗試輸入:w
時幾乎總是發生意外。我想要禁用:wq
。如何禁用vim中的內置命令
我發現最近的是cmap
,但它有一些奇怪的行爲。如果我這樣做
:cmap wq w
我再也不能連輸入:wq
;它只是在命令模式下將按鍵序列wq
重新映射到w
。例如,現在我不能在包含wq
的字符串上輸入搜索/替換命令。
我只想將確切的指令:wq
改爲:w
,或者不要操作。有沒有辦法做到這一點?
編輯:澄清爲什麼:cmap
不適合我
在vim中,當我點擊:wq
時,嘗試輸入:w
時幾乎總是發生意外。我想要禁用:wq
。如何禁用vim中的內置命令
我發現最近的是cmap
,但它有一些奇怪的行爲。如果我這樣做
:cmap wq w
我再也不能連輸入:wq
;它只是在命令模式下將按鍵序列wq
重新映射到w
。例如,現在我不能在包含wq
的字符串上輸入搜索/替換命令。
我只想將確切的指令:wq
改爲:w
,或者不要操作。有沒有辦法做到這一點?
編輯:澄清爲什麼:cmap
不適合我
它看起來像最好的選擇是隻習慣於:cmap
行爲。在罕見的情況下,我想輸入鍵盤序號wq
我只需要點擊wq
,等一下,然後再次點擊q
。我確實發現this possible solution,但對我的口味來說太複雜了。
一種選擇更好的解決方法可以是:
:cabbrev wq w
但我不知道爲什麼cmap
爲例外不起作用。 其實我已經映射到一個我的功能鍵來保存文件:
:map <F2> :w<CR>
:nmap <F2> <ESC>:w<CR>i
UPDATE:錯字第一個命令糾正。
UPDATE2:可能的解決方法:
:cabbrev wq<CR> w
HTH
你能解釋一下嗎:cabbrew? – 2009-11-24 05:59:42
我認爲它應該是':cabbrev'。 ':cabbrev wq w'會在你按下空格或輸入後將wq改爲w,所以它會使':wq'做':w'。有關更多信息,請參閱':help:cabbrev'和':help:ab'。 – DrAl 2009-11-24 08:16:58
對不起,我想我的問題還不夠清楚。 如果你這樣做:cmap,它也似乎是:cabbrew,這意味着命令模式下的「wq」擊鍵序列被映射到「wq」以外的其他值。因此,例如,你不能在包含「wq」的字符串上進行搜索/替換。我想要做的就是讓它如此,如果我輸入確切的命令:wq,它是別名爲「w」或無操作。 – user85509 2009-11-24 08:26:05