linux vi 搜索结果高亮显示,vim技巧:用列表形式显示所有搜索到的内容,去掉搜索内容的高亮...

本篇文章介绍 vim 的一些使用技巧:

用列表形式显示所有搜索到的内容

去掉搜索内容的高亮

用列表形式显示所有搜索到的内容

vim 在文件内用 / 或者 ? 进行查找,不会列出所有查找到的内容,需要通过 n 或者 N 命令逐一跳转到匹配的位置。

如果想要用列表的形式显示所有查找到的内容,可以用 [I 命令。注意,[ 后面跟着的是大写字母I。该命令在查找 count_matches 单词时,会显示类似于下面的效果:

src/main.c

1: 586 static int count_matches;

2: 1270 if (count_matches)

3: 1879 count_matches = 1;

4: 2093 count_matches = 0;

Press ENTER or type command to continue

可以看到,使用 [I 命令,一次性列出了包含搜索内容的所有行,第二列是对应行的行号。之后,可以在命令行输入 :number 跳转到 number 对应的行。例如,输入 :1879,回车后会跳转到 1879 行。

[I 表示从文件开头开始查找当前光标下的关键字,如果当前光标不在要搜索的关键字下,可以先用 / 或者 ? 搜索,跳转到关键字后,再用 [I 命令。

如果当前文件是 C/C++ 代码文件,[I 也会查找 #include 指定的头文件。即可能会列出多个文件下的匹配内容。如果不想要这个效果,可以先执行 :set include= 命令,将include选项的值设成空,就不会查找include的头文件,然后再执行 [I 命令,查找完后执行 :set include& 命令重置include选项为默认值。

可以映射快捷键把这三个命令放到一起,方便操作。 例如下面映射为 F7 键:

:map :set include=[I:set include&

如果不是 C/C++ 代码文件,不需要做其他设置,[I 命令只会查找当前文件。

注意:[I 命令不能查找少数的特殊字符,例如不能查找右大括号},但是可以查找左大括号{。

去掉搜索内容的高亮

vim 打开搜索高亮 (set hlsearch) 后,搜索到的内容会一直高亮显示。

如果要去掉搜索内容的高亮,可以搜索一些不存在的内容,搜索不到就会去掉之前的高亮。

上面是取巧的做法,标准做法是执行 :nohlsearch 命令。

这个命令会去掉搜索内容的高亮,但还是打开搜索高亮功能,下次搜索到内容还是会高亮。

为了方便执行,可以在 ~/.vimrc 文件中,把这个命令映射成快捷键。下面把它映射为 F9 键:

" 如果要去掉高亮显示搜索到的内容,需要再次搜索一些不存在的字符串,比较麻烦.可以

" 在vim的命令行中执行nohlsearch命令去掉当前高亮.下面以:开头表示在命令行执行.

nnoremap :nohlsearch

" 插入模式下也用F9来去掉搜索高亮.下面的表示CTRL-O,在插入模式执行一次命令

inoremap :nohlsearch

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值