我已经遵循了Is there any way in the OS X Terminal to move the cursor word by word?中的指导,现在在终端中我可以逐字移动光标。
然而,在Vim中,我只能一个字一个字地向后移动。我不能一个字一个字地向前移动,无论我将\033f设置为option+cursor-right
还是shift+cursor-right
。我想出的唯一解决办法是进入正常模式,然后单击<w>
移动到下一个字。有什么想法可以解决这个问题吗?谢谢。
我已经遵循了Is there any way in the OS X Terminal to move the cursor word by word?中的指导,现在在终端中我可以逐字移动光标。
然而,在Vim中,我只能一个字一个字地向后移动。我不能一个字一个字地向前移动,无论我将\033f设置为option+cursor-right
还是shift+cursor-right
。我想出的唯一解决办法是进入正常模式,然后单击<w>
移动到下一个字。有什么想法可以解决这个问题吗?谢谢。
4条答案
按热度按时间5w9g7ksd1#
w
不是一种解决方法。它是逐词移动的主要方法(另请参阅:W
,b
,B
,e
,E
)。您需要的是一种根本无法帮助您学习Vim的解决方法。bqjvbblv2#
有些人可能会说,用VIM native keyboard shortcuts移动不是一个解决办法,但对我来说,它肯定是非常不方便和非常低效的。特别是你需要在
insert
模式和normal
模式之间切换才能移动到下一个单词的部分。这就是为什么我在SuperUser上提出了一个基于this answer的解决方案。这个想法是将
Terminal.app
提供的输入直接Map到Vim中。SU上的答案显示了如何将Home/End键放入vimrc
文件中以按预期工作。我下面的调整版本包括
Option+arrow
(或Alt+arrow
)在单词上的导航。我试图模仿终端的移动行为,尽可能接近。因此,按Option+Right
(Alt+Right
)将插入符号移动到单词后的下一个字符(而不是单词的最后一个字符,这是VIMsw
原生的插入符号)。字符串
作为一个小的,但重要的奖金,你得到家/结束导航,而不退出
insert
模式。测试10.8.5
。myss37ts3#
让我为你澄清一些事情。Bash(在终端内运行的shell程序)具有你习惯的行为。(使用Alt+f按单词向前移动,Alt+b按单词向后移动。)这最初是为了像Emacs一样。你可以使用命令
字符串
切换到Vim行为。在此模式下,您可以使用ESC切换到正常模式,并像在vim中一样移动;然后按i返回插入模式。
所以不要惊讶于Vim并没有试图像Emacs那样工作,Vim背后的全部力量就在这些简单的动作背后。
uujelgoq4#
截至11月23日,这些简单的快捷方式为我工作与Vim(插入模式)在终端应用程序中打开。这工程OOTB,没有rc文件等编辑是必要的。
Shift+left/right
-逐字移动Fn+Shift+left/right
-跳转到行的开头或结尾Fn+Shift+up/down
-上一页/下一页