8

在 vim 中,当我点击:wq它时,几乎总是在尝试输入时发生意外:w。我想禁用:wq.

我找到的最接近的是cmap,但它有一些奇怪的行为。如果我做类似的事情

:cmap wq w

我什至无法输入:wq;它只是将击键序列重新映射wqw命令模式。例如,现在我不能在包含wq.

我只想将确切的命令别名:wq:w或无操作。有没有办法做到这一点?

编辑:澄清为什么:cmap不是我的选择

4

3 回答 3

5

更好的解决方案可以是:

:cabbrev wq w

但我不确定为什么cmap不能作为例外工作。实际上我已经映射了一个我的功能键来保存文件:

:map <F2> :w<CR>
:nmap <F2> <ESC>:w<CR>i

更新:在第一个命令中更正了错字。

UPDATE2:可能的解决方法:

:cabbrev wq<CR> w

高温高压

于 2009-11-24T05:20:56.733 回答
0

看起来最好的选择就是习惯:cmap行为。在极少数情况下,我想输入键盘序列,wq我可以按一下wq,等一下,然后再按q一次。我确实找到了这个可能的解决方案,但它对我的口味来说太复杂了。

于 2010-02-04T04:48:31.690 回答
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.

于 2019-12-18T12:08:04.687 回答