Допустим, у меня есть несколько файлов в моем исходном дереве, которые содержат определение для метода FindThisMethod()
.Я хотел бы открыть все эти файлы в одном экземпляре gVim, в отдельных буферах, с курсором в строке определения метода.
В Windows XP с использованием Cygwin я пробовал что-то вроде:
gvim --remote-silent `grep -rnl --include=*.cs 'void FindThisMethod()' *`
Это загрузит все правильные файлы в vim, но я все еще не уверен, как получить курсор на строку, совпадающую с grep.Поскольку vim поддерживает синтаксис gvim +<line number> file.txt
, я попытался объединить awk с grep, чтобы получить список номеров строк и имен файлов:
grep -rn --include=*.cs "void FindThisMethod()' * | gawk -F: '{print "+"$2" "$1}'
, который выдает:
+123 file.cs
+234 file2.cs
+345 file3.cs
Но я 'Я не уверен, как использовать это с gvim, чтобы открыть файлы по заданным строкам.Я попытался передать этот вывод на xargs -L 1 gvim --remote-silent
, но это не сработало, так как не удалось запустить бинарный файл gvim для Windows из xargs.
Должен быть лучший способ:)