VIM最让我烦恼的一件事就是在插入模式下不得不移动。使用任何其他程序我可以使用箭头键移动但是使用VIM我已经学会使用h / j / k / l并且为了进入该模式我必须按下escape然后我再次,是否有更快的方法那样做?
答案 0 :(得分:11)
我将我的转义按钮映射到jj。
imap jj <ESC>
这样当我想快速进入正常模式时,我会轻按jj,我的手指处于开始导航的良好位置。
开始时可能看起来很尴尬但是一旦你获得肌肉记忆就会像闪电一样。
答案 1 :(得分:6)
您可以通过键入^ O导航来暂时退出插入模式。用于通过自动插入的右括号。
大多数情况下,如果您的终端已知,vim会理解页面移动按钮。原来的vi没有,而且这个命令一直在那里。
有用的肌肉记忆:
^ Oo - 下面停止并打开线,大写O在上面 ^ OA - 转到行尾并继续插入 ^ OI - 开始在行的开头插入
暂且不说:
至少23年前,我曾经在v系统上使用vi。个人认为vi的理念非常有趣。这是一个实用的替代品,由一个单独的编码人员写的匆忙。它的实用主义是它存活的原因,因为它很容易移植到任何Unix。为了获得最佳效果,你应该学习如何使用f,t,逗号和分号 - 当你使用它们时,它们可以为你节省很多精力。
答案 2 :(得分:2)
使用CTRL- [
这是一个建议(可能来自Bram)在insert.txt帮助文件中:h i_CTRL - [
“注意:如果您的键很难在键盘上敲击,请训练自己使用CTRL - [。”
答案 3 :(得分:2)
您可以使用Ctrl
+ C
退出插入模式。将内容添加到vimrc文件有一个警告:如果您在远程服务器上,它们将无法工作。
答案 4 :(得分:1)
如果您的vimrc文件中有一行看起来像set term=ansi
,请将其注释掉。一旦我这样做,我就能用箭头键导航插入模式没问题。
答案 5 :(得分:0)
...最好的选择是打ESC
,四处走动,然后再次回到插入模式。
创建<C-h>
之类的映射并没有必要向左移动然后开始多次敲击...作为vim用户,您不应多次敲击同一键来实现智能移动
(如果 ESC
键离您的手指不近,则可以为其创建映射。) >
...一个不错的选择是使用您的<Leader>
键来定义一些动作:
(我将 ,
作为 <Leader>
键,因为它感觉很贴近我的手指) < / p>
noremap! <Leader>h <left> "move cursor left
noremap! <Leader>j <down> "move cursor down
noremap! <Leader>k <up> "move cursor up
noremap! <Leader>l <right> "move cursor right
noremap! <Leader>w <esc>wi "move one word forward
noremap! <Leader>e <esc>ei "move forward to the end of word
noremap! <Leader>b <esc>bi "move one word backward