如何在Vim中切换命令和插入模式?

时间:2012-11-01 14:11:37

标签: vim insert command

我刚开始使用Vim作为IDE。我现在使用它作为测试编辑器一段时间了,所以我不必经常进入命令模式。但是,既然我用Java编程,我必须进入命令模式来制作文件,编译/运行它......等等。

问题是:我需要一种在两种模式之间切换的好方法。

我在网上查看它说<Esc>键应该这样做,但这对我不起作用(也许不适用于gVim?我不知道为什么。)

我每次都要按 CTRL O 进入命令模式;转义键在该模式下工作......它将我带回插入模式。但是,在命令模式和插入模式之间切换是否有更好或更简单的方法?

8 个答案:

答案 0 :(得分:105)

ESC 从插入模式退出到正常模式,您可以按键入命令。 再次按 i 返回插入模式,你就可以了。

我不是Vim大师,所以其他人可以更有经验并给你其他选择。

答案 1 :(得分:41)

看起来您的Vim是在简易模式中启动的。请参阅:help easy

当使用-y参数或evim调用Vim时,或者您的:set insertmode配置中某处.vimrc时,会发生这种情况。找到源并禁用它;暂时这也可以通过 Ctrl + O :set noim 输入

答案 2 :(得分:13)

other questions中已经提到过,但 ctrl + [相当于所有键盘上的 ESC

答案 3 :(得分:4)

使用jj

在我的情况下,.vimrc(或在_vimrc中的gVim)设置如下。

inoremap jj <Esc>   """ jj key is <Esc> setting

答案 4 :(得分:2)

来自emacs我发现我喜欢用ctrl +键来做东西,而且在vim中我发现[ctrl + C][alt + backspace]都会从插入模式进入正常模式。你可以尝试看看是否有任何一个适合你。

答案 5 :(得分:0)

对于那种问题还有另外一种解决方案,我认为这种情况相当罕见,如果你在OS X Sierra上使用vim,你可能会体验到它。实际上,这是Esc按钮的问题 - 而不是vim。例如,我无法使用Esc在youtube上退出全屏视频,但我和它一起生活了几个月,直到我遇到与vim相同的问题。

我找到了this解决方案。如果你懒得跟随外部链接,关闭Siri并杀死Activity Monitor中的进程有帮助。

答案 6 :(得分:0)

您可以在插入模式下使用Alt + H,J,K,L来移动光标。

答案 7 :(得分:0)

对我来说,问题在于我在recording mode中。要退出录制模式,请按 q 。然后 Esc 按我的预期工作。