从可视模式执行命令并以可视模式返回解决方案

时间:2019-06-03 08:59:00

标签: vim

假设您处于可视模式(在正常模式下按v,现在执行:execute "/word"。这将带您进入第一个“单词”比赛。但是,您现在将处于普通模式,而不是选择原始视觉选择之间的所有内容。有没有办法做到这一点?

我还尝试了:call search("word")而不是“执行”

我知道我可以简单地从视觉模式下击/word;但这是通过vimL函数完成的,所以我想使用callexecute,因为有人告诉我...这是一种更好的方法。

谢谢!

1 个答案:

答案 0 :(得分:1)

  

这是一种更好的方法

执行可能很方便,因为它允许使用变量值和键名,例如<CR>。但这绝对不是通用工具。

因此,如果合适,只需/word。但是,如果您确实需要它,则可以从正常模式开始执行内容:

let l:word = 'some other text'
execute "normal! v/" . l:word . "\<CR>"