VIM: Как скопировать все строки, имеющие подстроку, в другой файл / буфер? - PullRequest
4 голосов
/ 25 июля 2011

Я хочу выполнить поиск внутри функции и скопировать все строки, вызывающие другую функцию в этой области, в другой файл. Я знаю, что могу ограничить область поиска с помощью визуального выбора, и поиск прост, но у меня нет удобного способа скопировать все результаты поиска в любой буфер (который я затем могу вставить в другой файл для анализа). .. Может кто-то указать на решение (я почти уверен, что это будет довольно легко, но по какой-то причине, это не очевидно для меня !!)?

1 Ответ

15 голосов
/ 25 июля 2011

Вы можете использовать:

:let @a=''             " clear register a. A faster alternative would be “qaq” in normal mode (thanks ZyX)
:g/pattern/y A         " yank all lines with pattern into register a, but in append mode (hence a capital letter)
:buffer other_file.txt
"ap

Может быть этот ответ о регистрах может помочь вам.

Альтернатива, если вы хотите APPEND к вашему другому буферу:

:redir >> other_file.txt
:g/pattern/#       "alternative: :g/pattern/print or :g/pattern/number.
:redir END

Ссылки: :help :g, :help :#, :help :redir

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...