在vim中搜索字符串并输出像grep一样

dom*_*lao 2 vim search grep

如何使用VIM在文本文件中搜索特定字符串,然后它将输出所有带有搜索字符串实例的行?

请指教.

谢谢!

小智 5

您可以使用Vim的内置global工具.它将输出窗口底部所有匹配的行.一个例子是::g/searchterm/Enter

您可能会发现,如果尚未打开行编号,则可以查看匹配文件中的位置.执行此操作的命令是::set numberEnter

运行以下命令可以找到其他信息: :help globalEnter

编辑:

如果要将结果重定向到其自己的窗口,vim.wikia.com建议使用命令序列

:redir @a         redirect output to register a
:g//              repeat last global command
:redir END        end redirection
:new              create new window
:put! a           paste register a into new window
Run Code Online (Sandbox Code Playgroud)

您可以像vimscript一样轻松编写脚本function.我强烈建议你查看Steve Losh - 学习Vimscript the Hard Way教程,如果你从未见过它来学习如何正确编写Vim函数的脚本.