0%

vim搜索技巧

简单搜索技巧

  • /search-term :前向搜索
  • ?search-term :后向搜索
  • n : 查找下一个
  • N :查找前一个
  • // 或 ?? :重复上一个搜索

当前词的搜索

当光标在一个单词上时,输入下述:

    • :搜索当前光标所在单词的下一个(完全匹配)
  • :搜索当前光标所在单词的上一个(完全匹配)

  • g* :搜索当前光标所在单词的下一个(部分匹配即可)
  • g# :搜索当前光标所在单词的上一个(部分匹配即可)

搜索当前行的一个字符

  • fX :搜索当前行的下一个X
  • FX :搜索当前行的上一个X
  • tX :搜索当前行的下一个X,并定位到前一个字符
  • TX :搜索当前行的上一个X,并定位到前一个字符
  • ;:重复上面的命令
  • ,:重复上面的命令(反向)

使用vimgrep搜索多个文件

可以在vim环境中使用:vimgrep hello *.c来搜索当前文件夹下所有c文件中包含hello的行,
然后可以使用:cn或者:cN查看前一个或后一个文件。

高亮显示搜索结果

使用:set hlsearch或者:set nohlsearch来显示或者取消搜索到匹配模式的高亮显示。

:match的使用

可以使用类似:match color-scheme /word/来讲word设置为搜索到时显示为color-scheme的模式。

其中color-scheme有ErrorMsg、WarningMsg、ModeMsg和MoreMsg等。

放置光标在匹配的最后

当你在Vim内使用/pattern搜索时,缺省光标位于匹配的开始。

但是,如果你希望光标放置在匹配的结尾,你可以使用/pattern\zs

光标在模式的开始位置:

/pattern

光标在模式的结尾处:

/pattern\zs

快捷搜索

如果要搜索,一般命令是: “:/thisisaverylongword”,但是这样输入thisisaverylongword, 这个很长的单词很难输入, 所以有更简单的办法:把光标置于thisisaverylongword之上, 然后按*键,或者#键即可直接进行搜索.*键是向下搜索, #键是向上搜索。

vim增量搜索

设置:set incsearch就可以在输入任何字符的时候自动匹配,而不需要输入完以后回车才匹配。

Vim增量搜索
当你使用增量搜索后,在Vim中不能没有它。

为了使用增量搜索

1
:set incsearch

增量搜索会在输入的时候就开始搜索关键词。

关闭增量搜索,

1
:set noincsearch
处无为之事,行不言之教;作而弗始,生而弗有,为而弗恃,功成不居!

欢迎关注我的其它发布渠道