在文本编辑器中打开搜索结果

时间:2014-07-09 08:53:45

标签: powershell vim

我想创建一个搜索字符串并在vim中打开所有结果的函数。

在powershell中,我有:

Get-ChildItem -recurse -filter *.cs | Select-String -pattern $str | group path | select name

$ str是我正在搜索的字符串。

现在我想将所有结果重定向到vim。将结果导入vim会产生错误,即vim的输出不是控制台,因此它无法正常工作。

如何将结果重定向到vim或任何其他文本编辑器?

编辑:添加了vim标记,因为可能有选项在vim中执行而不是使用PowerShell。

2 个答案:

答案 0 :(得分:3)

仅限Vim的解决方案:

:vim foo **/*.cs | cw

它不会打开每个文件,但是你会得到一个更有用的交互式列表,名为" quickfix window"这可以让你跳到右边文件的右边。

请参阅:help :vimgrep:help quickfix-window

答案 1 :(得分:1)

您可以在set grepprg命令中使用您的命令。

检查:help grepprg(您可能还需要将Windows上的默认shell从cmd替换为Powershell)

使用grepprg的好处在于它将结果列表显示为快速列表(copen / cclose)。