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


87

我刚刚开始使用Vim作为IDE。我已经将它用作测试编辑器已有一段时间了,因此不必经常进入命令模式。但是,由于我使用Java进行编程,因此必须进入命令模式来制作文件,编译/运行...等。

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

我在网上看了一下,上面说<Esc>应该是要用钥匙的,但这对我不起作用(也许不是gVim的原因?我不知道为什么)。

CTRLO每次必须按一下才能进入命令模式;退出键在该模式下起作用...它使我回到插入模式。但是,是否有更好或更简单的在命令模式和插入模式之间切换的方式?


2
Esc绝对是完成插入的正确键。插入可以多种方式启动。小写我开始在光标插入,大写I开始在该行的开头,等插入
沃恩卡托

从一个空文件开始,以下字符应为您提供一个带有“ hello”字样的文件: ihello<ESC>:w hello.txt<ENTER>
Vaughn Cato 2012年

8
ctrl-[在许多键盘上可以代替Esc。
沃恩·卡托

Answers:


52

看来您的Vim是在简单模式下启动的。请参阅:help easy

-y参数或as调用Vim时可能会发生这种情况evim,或者可能:set insertmode.vimrc配置中有某个地方。查找源并将其禁用;暂时也可以通过Ctrl+来完成O :set noim Enter


我认为就是这样。我在文件中启用了插入模式。删除它后,转义键可以正常工作。谢谢!
拉维什·查拉

8
这是简单模式!
Stachu

5
Vim简易模式,现在是矛盾之处。那是可以退出vim的地方吗?
达沃斯

1
@Davos是在插入模式下启动的模式,因此具有讽刺意味的是,它是不可能退出vim的模式:p“正常模式”更容易,只是alt + :, x XD
Fuseteam



4

使用 jj

就我而言,下面的.vimrc(或在gVim中位于_vimrc)设置。

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

这是常见的重新映射。我发现它在等待其他字符输入时会稍有延迟。另外,也可以使用Macbook上的KeyRemap4MacBook之
Koobz 2014年

我发现将标签重新映射到esc更容易了:3
Fuseteam '19

3

从emacs的未来我发现我喜欢ctrl +按键做的东西,和VIM,我发现,无论是[ctrl + C][alt + backspace]从插入模式进入正常模式。您可以尝试看看是否有适合您的方法。



1

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


1
不,你不能。那可能是您的配置的重新映射。
Saul Axel Martinez Ortiz

@SaulAxelMartinezOrtiz是的,您可以,从技术上来说,它会退出正常模式,之后您可以在正常模式下移动:p
Fuseteam

0

对于这种问题,还有另一种解决方案,我认为这种情况很少见,如果在OS X Sierra上使用vim,您可能会遇到。实际上,这是Esc按钮的问题-不是vim。例如,我无法使用Esc退出youtube上的全屏视频,但是我忍受了几个月,直到遇到vim的同样问题。

我找到了这个解决方案。如果您懒于跟踪外部链接,则关闭Siri并取消活动监视器中的进程会有所帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.