Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 在文本编辑器中打开搜索的所有结果_Powershell_Vim - Fatal编程技术网

Powershell 在文本编辑器中打开搜索的所有结果

Powershell 在文本编辑器中打开搜索的所有结果,powershell,vim,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中,我有:

Get-ChildItem -recurse -filter *.cs | Select-String -pattern $str | group path | select name
$str是我正在搜索的字符串

现在我想将所有结果重定向到vim。到vim的管道结果给出错误,即vim的输出不是控制台,因此无法工作

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

编辑:添加了vim标签,因为可能有一个选项可以在vim中执行,而不是使用powershell。

仅使用vim的解决方案:

:vim foo **/*.cs | cw
它不会打开每个文件,但会得到一个更有用的交互式列表,称为“快速修复窗口”,它可以让您跳转到正确文件的正确行

请参阅
:help:vimgrep
:help quickfix窗口

仅适用于Vim的解决方案:

:vim foo **/*.cs | cw
它不会打开每个文件,但会得到一个更有用的交互式列表,称为“快速修复窗口”,它可以让您跳转到正确文件的正确行


请参阅
:help:vimgrep
:help quickfix窗口

您可能可以在
设置grepprg
命令中使用您的命令

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


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

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

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


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

将结果写入一个文件,然后在Vim中打开该文件。@AnsgarWiechers如果我将管道连接到“| Vim-”我将在Vim中获得所有文件名,但我希望所有文件都在缓冲区(或选项卡)中打开。将结果写入一个文件并在Vim中打开该文件。@AnsgarWiechers如果我通过管道连接到“|Vim-”,我将在Vim中获得所有文件名,但我希望所有文件都在缓冲区(或选项卡)中打开。