Если я нахожусь в Vim и хочу получить какой-то вывод из командной строки и добавить его в мой текущий файл, я могу запустить это:
:! echo "foo" >> %
Это добавит «foo» к моему текущему файлу, и мне придется перезагрузить.
Есть ли более элегантный способ сделать это - поместить этот вывод в буфер, который я могу вставить, например?
:r
является сокращением от «read» (так что вы можете набрать «read» или просто «r», и это та же команда), и 2) выполнение:r path/to/foo.txt
вставит содержимое этого файл после курсора.system
звонке. Это потрясающе!let @a = 'foo'
. Одна интересная идея: после поиска и замены вы можете сохранить поисковый термин в регистр для вставки в другое место, выполнив:let @a = @/
«сделать регистр содержащим то, что содержит / register, а именно мой последний поиск».:put /
чтобы поместить содержимое регистра на следующую строку, и 2) в режиме вставки набрать Ctrl-R, а затем/
вставить содержимое регистра в позиции курсора. Подробнее об этом смотрите:help :put
и:help i_CTRL-R
.