vim:将所选文本插入命令行?

Dav*_*ver 15 vim

如果我在可视模式下选择了一些文本,如何将所选文本插入命令行?

例如,如果我想搜索当前选择的文本,我可以使用y/<c-r>"...但是有没有办法在没有先选择文本的情况下执行此操作?

编辑:一个更好的例子,因为在可视模式下搜索会扩展选择:如果我选择了部分文件名,并且我想要附加到该名称,则在新编辑器中打开它.

grw*_*wlf 7

我已:在视觉模式下重新映射以解决此问题.通过以下映射,我可以将选定的文本粘贴到命令行,然后b - onus - 将光标移动到最左边的位置:

vnoremap : y:<C-r>"<C-b>
Run Code Online (Sandbox Code Playgroud)

我能看到的一个小缺点 - :现在按下取消选择.


Jor*_*jon 2

激活视觉模式并选择一些文本后,如果我点击/向前搜索然后按<C-R>*,我会将所选文本插入到命令行中。

另一种方法(至少在 Linux 中)是按<S-Insert>,这将在 X11 中插入当前选择的内容(例如,在 Firefox 中选择某些内容,您可以<S-Insert>在任何其他应用程序中复制该选择;同样,至少在 Linux 中)。

请记住,对于您的具体示例,在命令后插入一些文本后/,您的视觉选择将扩展以包括下一个出现的搜索内容。

编辑:我假设 GVim 会将视觉选择复制到 X11 选择缓冲区(请参阅 参考资料 获取:help x11-selection更多信息)。

如果您在控制台中使用 Vim,那么我认为(但可能是错误的)您最好的选择是在按下鼠标的同时选择所需的文本Shift,然后将该<S-Insert>文本复制到命令行中。这适用于 Linux,也可能适用于 OSX;我不了解Windows,抱歉。