[VIM] 搜索可视化选中(Visually Selected)的文本
在VIM中,我们通过在命令模式(正常模式)下输入序列/pattern
或?pattern
的模式来搜索文本。跟VIM编辑界面合为一体,不会弹出新窗口来干扰用户的操作,已经很方便了。
但是,待搜索的文本必须得手动输入。简单两三个字母还好,如果长了,还就不方便了。
如果你用的是GVIM版本,那么可以选择使用鼠标来选中复制粘贴并搜索,但这样的话,手会在键盘与鼠标之间来回移动,不方便,且动作偏慢。而且,如果是VIM的话,很可能你是不能使用鼠标的。 那,有没有更好的办法?当然有!那就是:使用可视化选中命令“v”或“V”。(可视化选中跟用鼠标选中有点不一样。可视化选中时对文本所作的操作是与VIM内部的寄存器交互,而使用鼠标时,是与操作系统的剪贴板交互。)
可以按如下操作来达到任意选中并搜索:
- 按下
v
之后,可以任意移动光标来使光标经过的区域的文本处于可视化选中状态; - 按下
y
,把选中的内容复制到VIM内部的默认寄存器"
中; - 按下
/
或?
,进入搜索状态; - 按下
^R
(即:Ctrl+R),然后按下"
,把寄存器"
中的内容粘贴到搜索栏中。Ctrl+R? - 最后,按下
回车
,执行搜索。
以上就是整个步骤。当然,由于搜索使用得非常频繁,如若每次都这样操作的话,肯定是很麻烦的。怎么办?自定义按键映射即可(放到 .vimrc 中)。
映射命令: vnoremap // y/<c-r>"<cr>
。
经这样一映射,在选中文本后,按下//
就可以快速搜索了。非常方便。
赶快试试吧,必备命令。
参考: