如何将当前视觉选择短语插入命令行?

Jee*_*eet 33 vim

在命令中输入参数时,我知道我可以键入<C-R><C-W>以在光标下插入单词并在光标下<C-R><C-A>插入WORD.

有没有办法插入当前的视觉选择?

谢谢!

Wal*_*ter 35

您可以使用ex或search命令行上的任何寄存器的内容,<C-R>后跟寄存器的名称.通过yanking您的视觉选择,它被放入0寄存器,因此<C-R>0将您的抽出选择添加到当前命令行.

这是我所知道的唯一方式,但我仍然每天使用它.


Dav*_*man 5

有几种方法可以解释您的问题。最简单的是,如果您想将选定的文本作为 ex 命令的范围参数。我怀疑这是你的问题,因为如果你输入 : 并进行视觉选择,这种情况会自动发生,但是这个的 ex 语法

:'<,'>
Run Code Online (Sandbox Code Playgroud)

我认为你的问题可以解释的第二种方式是你想将视觉选定的文本本身作为 ex 命令的参数插入;我认为这是不可能的。如果您阅读 vim 手册第 40.2节,其中描述了范围参数,则允许命令从范围参数中获取的唯一内容是第一行和最后一行的编号(使用标签<line1><line2>)。

最后,如果你想跑步在shell选定的文本,您只需选择它并输入

:!sh
Run Code Online (Sandbox Code Playgroud)

(该'<,'>部分应该插入到 : 和 ! 之间。您可以将 'sh' 替换为启动您最喜欢的 shell 的命令)。