最近的学习工作中, 查看log文件需求特别多,
于是我对vim的搜索功能提出了新的要求.
比如:
将搜索结果单独列在一个窗口中, 双击该窗口的一项是, 支持到源文件的跳转.
可以将搜索无关项折叠起来, 需要的时候再打开.
可以很方便的将搜索结果保存起来(到新窗口或者文件, 方便的意思指的当然是command)
如果大家也有同样的需求, 参考如下链接:
这个链接中的See also也非常实用, see also内容如下:
See also
- Redirect g search output to redirect g// output to a new window or a file
- Filter buffer on a search result to create a scratch buffer with matching lines
- Find in files within Vim for a clickable list of search hits
- Folding with Regular Expression to fold away non-matching lines
目前我最喜欢的命令有下面几个:
■ 使用vimgrep搜索, 双击搜索结果可跳转, 并支持在多文件中搜索.
To view a window of search results, see Find in files within Vim. You can use % for the file path to search only the current file, for example:
" Save file, search it for 'pattern', and open a clickable list.
:w
:vimgrep /pattern/ %
:copen
:w
:vimgrep /pattern/ %
:copen
■ 还有, 通过Redirect g search output这个链接中介绍的F3命令,
只是我使用下面的命令, 将搜索结果重定向到一个新的tab, 而不是一个新的window
nnoremap <silent> <F3> :redir @a<CR>:g//<CR>:redir END<CR>:tabe<CR>:put! a<CR>
■ 另外还有Folding with Regular Expression之中介绍的 \z 命令, 将不匹配的搜索结果折叠起来(在当前的window中)