使用vim内部的grep

Posted Linux知识积累

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用vim内部的grep相关的知识,希望对你有一定的参考价值。

命令行:

:vim[grep] /pattern/[g][j] files ...

g 选项:

不加该选项时,当一行中有多个匹配项时,仅在 quickfix 中添加一行。添加该选项时,每个匹配都在 quickfix 列表中添加一项。

j 选项:

不加该选项,查找完毕,光标将跳转到第一个匹配处。添加该选项时,查找完毕,仅更新 quickfix 列表,光标不跳转。


files 参数举例:

%

表示在当前缓冲区文件中查找。

*.cpp

表示在当前目录中的 .cpp 文件中搜索。

**/*.cpp

表示在当前目录及子目录中 .cpp 文件中搜索。

**/*.cpp **/*.h

表示在当前目录及子目录中 .cpp.h 文件中搜索。

当前目录

 :pwd 命令查看当前目录。用 :cd 命名切换当前目录。


Quickfix 跳转

:cw

打开 quickfix 列表窗口

:ccl

关闭 quickfix 列表窗口

:cfirst, :cnext, :cprev, clast

跳转到 quickfix 列表的第一项、后一项、前一项及最后项的匹配处。

映射小技巧

 F11  Shift-F11  quickfix 列表中向后、向前跳转。

:nnoremap <F11> :cnext<CR> 
:nnoremap <S-F11> :cprev<CR>

lvim[grep] vim[grep] 的区别

lvim 使用窗口的本地列表,vim 使用 quickfix 列表。

lvim 的窗口本地列表跳转命令为::lnext  :lprev  :lfirst  :llast 


 


以上是关于使用vim内部的grep的主要内容,如果未能解决你的问题,请参考以下文章

Regex grep外部IP还带回了内部IP - 为什么?

Django 模板的 Vim 内部标签块

'grep' 不是内部或外部命令,也不是可运行的程序 或批处理文件

adb shell 命令返回'grep' 不是内部或外部命令,也不是可运行的程序

docker容器内部,无vim 命令

sed 一