1

如何在不离开当前行的情况下跳过一个单词('w')?

光标应停在行尾。我相信类似的解决方案也可以应用于其他步长。

4

2 回答 2

5

奇怪:call search('\<\|\(\k\@!\S\)\+', 'W', line('.'))的请求,但应该可以解决问题。为了模拟w移动,我们必须搜索关键字\<的开头,或非关键字 non-whitespace 的开头\(\k\@!\S\)\+。我们关闭换行('W'),并将搜索功能的范围限制在当前行。

这在该行的最后一个单词处停止。如果您还想在行尾停止,请添加\|$到正则表达式。

或者,您可以组装一个搜索命令,例如/\%42l\(\<\|\(\k\@!\S\)\+\),但输入当前行号(本例中为 42)并处理“wrapscan”设置更难。

于 2012-04-20T20:01:33.230 回答
-1

理解你的意思已经不是那么容易了,但你也忘了说你希望它在插入模式下工作。

您希望能够在插入模式下逐字移动吗?好吧,你可能已经知道了,但你不应该那样做。这就是普通模式的用途。

默认情况下,在 ubuntu 上的 GVim 中可以进行这种导航。

很容易模拟:

inoremap <C-Right> <C-o>w
inoremap <C-Left> <C-o>b

但这不是一个好主意。

我没有得到“光标应该停在行尾”部分。

于 2012-04-21T07:01:31.423 回答