[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>
。
经这样一映射,在选中文本后,按下//
就可以快速搜索了。非常方便。
赶快试试吧,必备命令。
参考:
正好解决问题,点赞。我将//换成了n,直接n到底
可以可以,小心正则表达式哦。
感谢分享!看了看你的博客,好牛啊(;´༎ຶД༎ຶ`),让人突然有好好生活的动力了!
谢谢你,非常开心能听到你这么说,希望你好好生活~
我想问一下 为什么不管怎么样都无法替换带“_”的字符串 搜不出来 比如X_data
我试了一下是可以的,你具体描述下你的操作?
感谢你的回复 我发现了不是下划线的问题 是中括号没转译 应该是[]我写成了[]
你在这篇帮助里面搜索一下
\[
,第一处就是magic
与nomagic
的对比。非常有用。 如此擅长vim 的女孩子,真的厉害
好用好用,谢谢谢谢👻