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