在vim中,当我点击:wq
时,尝试输入:w
时几乎总是发生意外。我想停用:wq
。
我找到的最近的是cmap
,但它有一些奇怪的行为。如果我做了像
:cmap wq w
我甚至无法输入:wq
;它只是在命令模式下将击键序列wq
重新映射到w
。例如,我不能在包含wq
的字符串上输入搜索/替换命令。
我想将确切的命令:wq
别名为:w
或无操作。有没有办法做到这一点?
编辑:澄清为什么:cmap
不适合我
答案 0 :(得分:3)
更好的解决方案可以是:
:cabbrev wq w
但我不确定为什么cmap
不起作用。
实际上我已经映射了一个我的功能键来保存文件:
:map <F2> :w<CR>
:nmap <F2> <ESC>:w<CR>i
更新 :在第一个命令中更正了拼写错误。
UPDATE2 :可能的解决方法:
:cabbrev wq<CR> w
HTH
答案 1 :(得分:0)
看起来最好的选择就是习惯:cmap
行为。在极少数情况下,我想输入键盘序列wq
我可以点击wq
,等一下,然后再次点击q
。我确实找到了this possible solution,但这对我的口味来说太复杂了。
答案 2 :(得分:0)
我添加了一个单行补丁程序,并运行dpkg-rebuildpackage将:wa
重命名为:wwa
:
--- neovim/src/nvim/ex_cmds.lua
--- neovim/src/nvim/ex_cmds.lua
@@ -3057,7 +3057,7 @@
func='ex_wnext',
},
{
- command='wall',
+ command='wwall',
flags=bit.bor(BANG, TRLBAR, CMDWIN),
addr_type=ADDR_LINES,
func='do_wqall',
您将需要在debian/patches/
中创建此补丁并将其添加到debian/patches/series
。