如何在不离开当前行的情况下跳过一个单词('w')?
光标应停在行尾。我相信类似的解决方案也可以应用于其他步长。
奇怪:call search('\<\|\(\k\@!\S\)\+', 'W', line('.'))
的请求,但应该可以解决问题。为了模拟w
移动,我们必须搜索关键字\<
的开头,或非关键字 non-whitespace 的开头\(\k\@!\S\)\+
。我们关闭换行('W'
),并将搜索功能的范围限制在当前行。
这在该行的最后一个单词处停止。如果您还想在行尾停止,请添加\|$
到正则表达式。
或者,您可以组装一个搜索命令,例如/\%42l\(\<\|\(\k\@!\S\)\+\)
,但输入当前行号(本例中为 42)并处理“wrapscan”设置更难。
理解你的意思已经不是那么容易了,但你也忘了说你希望它在插入模式下工作。
您希望能够在插入模式下逐字移动吗?好吧,你可能已经知道了,但你不应该那样做。这就是普通模式的用途。
默认情况下,在 ubuntu 上的 GVim 中可以进行这种导航。
很容易模拟:
inoremap <C-Right> <C-o>w
inoremap <C-Left> <C-o>b
但这不是一个好主意。
我没有得到“光标应该停在行尾”部分。