2012-01-05 120 views
8

使我对VIM了解最多的事情之一是在插入模式下移动。与其他任何程序,我可以使用箭头键移动,但与VIM我学会了使用h/j/k/l,并​​且为了进入该模式,我必须按下转义,然后我再次,是否有更快的方法去做?VIM在插入模式下导航

+2

vim的一般租户是不能在插入模式下导航的。将大写锁定映射到ESC以便更容易地退出插入模式很常见。另一个普通的vim租户是尽可能少地插入模式。 – 2012-01-05 21:22:43

+0

请参阅“误解#1” http://www.viemu.com/a-why-vi-vim.html – 2012-01-05 21:27:10

+0

我觉得你刚才应该训练肌肉记忆=) – ck3g 2012-01-05 21:57:31

回答

11

我有我的逃生按钮映射到jj。

imap jj <ESC> 

时,我想进入正常模式快,我枪王JJ和我的手指是在一个很好的位置,启动导航的方式。

它可能看起来笨拙开始,但一旦你的肌肉记忆,它会像闪电。

+1

如果你需要插入“JJ”,你慢慢做吧? – 2012-01-05 21:25:38

+0

是的,这是正确的,这是非常罕见的2个字母需要在一起,但是当他们是我必须按慢 – zode64 2012-01-05 21:27:30

+0

我确实已经映射了jj,我想我没有考虑太多。此外,我发现这个答案,这有助于更进一步:http://stackoverflow.com/questions/1737163/vim-traversing-text-in-insert-mode – 2012-01-05 21:30:13

2

使用CTRL- [

这里有一个建议(可能是从布拉姆)在insert.txt帮助文件为:H i_CTRL- [

“注意:如果您的密钥是很难按键盘上,训练自己使用CTRL- [。“

2

您可以使用Ctrl + C从插入模式退出。添加事项到你的vimrc文件有一个警告:如果你在远程服务器上,它们不起作用。

1

如果你有你的vimrc文件中的一行,看起来像set term=ansi,其注释掉。一旦我这样做了,我可以用箭头键导航插入模式没问题。

4

通过键入^ O进行导航,可以暂时退出插入模式。有用于过去自动插入的右括号。

大多数时候VIM的理解页移动按钮,如果你的终端是众所周知的了。原来的vi没有,而且这个命令一直在那里。

有用的肌肉记忆:

^乌 - 停止及以下开行,大写的O高于 ^ OA - 转到线的末端,并进行插入 ^ OI - 开始在行的开头插入

顺便说一句:

我用的的System V的方式VI回来,至少23年前。个人觉得vi的理念很有趣。这是一个由单独的编码员匆忙编写的ex的实用替代品。它的实用主义就是为什么它能够存活下来,因为它很容易移植到任何Unix上。为了获得最佳效果,您应该学习如何使用f,t,逗号和分号 - 当您将它们与c一起使用时,它们可以为您节省大量的工作量。

+2

我正在做同样的事情跳过近括号,直到我发现输入封闭的括号本身只会把我带过去而不插入一个新的,非常有用! – maxymoo 2017-03-21 22:22:26