VIM - Easymotion从多个页面返回匹配

时间:2016-02-14 22:44:22

标签: vim

如何在文件中使用情感返回结果,以显示当前文件页面中显示的结果。

目前我只匹配当前页面视图,而不是完整文件视图。这是否可以实现easymotion或更好的解决方案?

我可以使用基本搜索和下一个n动作,但如果有很多匹配,这可能会非常烦人。

更新:如果对他人有帮助,找到解决方案共享。

搜索文件

/<word>

或在光标下搜索单词

*

选择第一个结果

n

然后,如果你这样做,你将在显示该单词的文件中得到所有匹配的结果

[I

此处有更多技巧https://www.cs.swarthmore.edu/help/vim/searching.html

1 个答案:

答案 0 :(得分:1)

尝试使用:vimgrep

  

:vim[grep][!] /{pattern}/[g][j] {file} ...

     

在文件{file}中搜索{pattern} ...并将错误列表设置为匹配项。匹配'wildignore'的文件将被忽略;最后搜索'后缀'中的文件。没有'g'标志,每行只添加一次。使用'g'添加每个匹配。

由于:vimgrep更新错误列表,您可以看到匹配行的完整列表。按:copen打开错误窗口并浏览匹配项。您也可以在:cn:cN之间导航。

我想你想要一个文件中的完整匹配列表,所以试试:vim /pattern/ %。如果您不想跳转到第一个匹配项,请在模式结尾添加j标记::vim /pattern/j %

  

没有'j'标志,Vim跳转到第一场比赛。使用'j'时,仅更新quickfix列表。使用[!]时,当前缓冲区中的任何更改都将被放弃。