2014-07-09 36 views
1

我想創建一個函數,它將搜索字符串並在vim中打開所有結果。打開在文本編輯器中搜索的所有結果

在PowerShell中,我有:

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

$ str是我在尋找的字符串。

現在我想將所有結果重定向到vim。將結果傳遞給vim會導致錯誤,即vim的輸出不是控制檯,因此不起作用。

如何將結果重定向到vim或任何其他文本編輯器?

編輯:增加了vim標籤,因爲可能有一個選項在vim中使用而不是使用powershell。

+0

將結果寫入文件並在Vim中打開該文件。 –

+0

@AnsgarWiechers如果我輸入「| vim - 」,我得到vim中的所有文件名,但我希望所有文件都在緩衝區(或標籤)中打開。 – user3043457

回答

3

一個Vim-唯一的解決辦法:

:vim foo **/*.cs | cw 

它不會打開每一個文件,但你會得到一個名爲「quickfix窗口」更加有用的互動式目錄,可以讓你跳轉到正確的路線在正確的文件。

參見:help :vimgrep:help quickfix-window

1

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

檢查:help grepprg(你可能還需要從cmd以Powershell的替代Windows上的默認的shell)

使用grepprg的好的部分是,它顯示結果列表到快捷列表(C打開/ C關閉)。

相關問題