在Vim中禁用"进入Ex模式"

Léo*_* 준영 65 vim ex-mode

我偶然每天得到以下10X次.

进入Ex模式.输入"visual"进入正常模式.

如何在Vim中禁用导致它的组合?

Bri*_*per 52

<Nop>用于将键映射到"无".见:h <Nop>.

:map Q <Nop>
Run Code Online (Sandbox Code Playgroud)

  • 我建议总是使用noremap而不是普通地图,请参阅http://learnvimscriptthehardway.stevelosh.com/chapters/05.html在这种情况下,理论上可以永远不会重新映射地图(我认为)但从不使用"普通地图" "无论如何,这是一个好策略. (9认同)

Léo*_* 준영 24

这个答案基于@ NielsBom的评论4. 2012年10月和@BrianCarper的回答13. 2009年8月.

我认为NielsBom是完全正确的,请看文章.这个命令map在Vim中真的很邪恶,多年来给我带来了很多问题.在NielsBom的评论之前,我没有意识到这件事.所以请改用以下命令:

:nnoremap Q <Nop>
Run Code Online (Sandbox Code Playgroud)

  • @NielsBohrn提出了一个不同的观点:他建议使用地图命令的**`nore`**版本来防止重新映射右侧.在这种情况下,它将是`:nnoremap Q <Nop>`,但由于右边是`<Nop>`,重映射是无关紧要的. (2认同)

R. *_*des 23

"组合"是Q.要禁用它,只需映射Q到其他内容:

:map Q <whatever>
Run Code Online (Sandbox Code Playgroud)

我用gq,用于格式化文本.

如果你不想要它做任何事情将它映射到<Nop>:

:map Q <Nop>
Run Code Online (Sandbox Code Playgroud)