[VIM] 搜索可视化选中(Visually Selected)的文本

陪她去流浪 桃子 2016年03月24日 编辑 阅读次数:9701

在VIM中,我们通过在命令模式(正常模式)下输入序列/pattern?pattern的模式来搜索文本。跟VIM编辑界面合为一体,不会弹出新窗口来干扰用户的操作,已经很方便了。 但是,待搜索的文本必须得手动输入。简单两三个字母还好,如果长了,还就不方便了。

如果你用的是GVIM版本,那么可以选择使用鼠标来选中复制粘贴并搜索,但这样的话,手会在键盘与鼠标之间来回移动,不方便,且动作偏慢。而且,如果是VIM的话,很可能你是不能使用鼠标的。 那,有没有更好的办法?当然有!那就是:使用可视化选中命令“v”或“V”。(可视化选中跟用鼠标选中有点不一样。可视化选中时对文本所作的操作是与VIM内部的寄存器交互,而使用鼠标时,是与操作系统的剪贴板交互。)

可以按如下操作来达到任意选中并搜索:

  1. 按下v之后,可以任意移动光标来使光标经过的区域的文本处于可视化选中状态;
  2. 按下y,把选中的内容复制到VIM内部的默认寄存器"中;
  3. 按下/?,进入搜索状态;
  4. 按下^R(即:Ctrl+R),然后按下",把寄存器"中的内容粘贴到搜索栏中。Ctrl+R?
  5. 最后,按下回车,执行搜索。

以上就是整个步骤。当然,由于搜索使用得非常频繁,如若每次都这样操作的话,肯定是很麻烦的。怎么办?自定义按键映射即可(放到 .vimrc 中)。

映射命令: vnoremap // y/<c-r>"<cr>

经这样一映射,在选中文本后,按下//就可以快速搜索了。非常方便。 赶快试试吧,必备命令。

参考:

标签:vim