Заменять содержимое регистра или строк в другом месте в файле Vim
Я использую Vim, и я хочу подставить некоторый текст заполнителя длинной строкой, которая охватывает несколько строк, которые уже записаны где-то еще в файле.
Можно ли заменить шаблон содержимым регистра? Что-то вроде
:%s/foo/<contents of register A>
В противном случае можно заменить на ряд строк? что-то вроде
:%s/foo/<content of lines from 10 to 15>
Ответы
Ответ 1
Согласно http://vim.wikia.com/wiki/Search_and_replace, он выглядит так:
:%s/foo/\[email protected]/g
Кроме того, нажатие <cr>a
в режиме вставки вставит содержимое регистра a
.
Круто - я никогда этого не знал. Хороший вопрос.
Некоторые другие вещи, которые нужно сделать с <cr>
: http://vimdoc.sourceforge.net/htmldoc/cmdline.html#c_CTRL-R
Ответ 2
:%s/foo/\=getline(10, 15)/g
:%s/foo/\=join(getline(10, 15))/g