如果我在可视模式下选择了一些文本,如何将所选文本插入命令行?
例如,如果我想搜索当前选择的文本,我可以使用y/<c-r>"
...但是有没有办法在没有先选择文本的情况下执行此操作?
编辑:一个更好的例子,因为在可视模式下搜索会扩展选择:如果我选择了部分文件名,并且我想要附加到该名称,则在新编辑器中打开它.
我已:
在视觉模式下重新映射以解决此问题.通过以下映射,我可以将选定的文本粘贴到命令行,然后b - onus - 将光标移动到最左边的位置:
vnoremap : y:<C-r>"<C-b>
Run Code Online (Sandbox Code Playgroud)
我能看到的一个小缺点 - :
现在按下取消选择.
激活视觉模式并选择一些文本后,如果我点击/
向前搜索然后按<C-R>*
,我会将所选文本插入到命令行中。
另一种方法(至少在 Linux 中)是按<S-Insert>
,这将在 X11 中插入当前选择的内容(例如,在 Firefox 中选择某些内容,您可以<S-Insert>
在任何其他应用程序中复制该选择;同样,至少在 Linux 中)。
请记住,对于您的具体示例,在命令后插入一些文本后/
,您的视觉选择将扩展以包括下一个出现的搜索内容。
编辑:我假设 GVim 会将视觉选择复制到 X11 选择缓冲区(请参阅 参考资料 获取:help x11-selection
更多信息)。
如果您在控制台中使用 Vim,那么我认为(但可能是错误的)您最好的选择是在按下鼠标的同时选择所需的文本Shift
,然后将该<S-Insert>
文本复制到命令行中。这适用于 Linux,也可能适用于 OSX;我不了解Windows,抱歉。