Замените содержимым регистра или диапазона строк из другого места файла в Vim.

StackOverflow https://stackoverflow.com/questions/662734

  •  20-08-2019
  •  | 
  •  

Вопрос

Я использую Vim и хочу заменить текст-заполнитель длинной строкой, занимающей несколько строк, которая уже записана где-то в другом месте файла.

Можно ли заменить шаблон содержимым регистра?Что-то вроде

:%s/foo/<contents of register A>

Иначе можно ли заменить диапазоном строк?что-то вроде

:%s/foo/<content of lines from 10 to 15>
Это было полезно?

Решение

В соответствии с http://vim.wikia.com/wiki/Search_and_replaceКажется:

:%s/foo/\=@a/g

Кроме того, нажав <c-r>a в режиме вставки будет вставлено содержимое регистра a.

Круто, я никогда этого не знал.Хороший вопрос.

Некоторые другие вещи, связанные с <c-r>: http://vimdoc.sourceforge.net/htmldoc/cmdline.html#c_CTRL-R

Другие советы

:%s/foo/\=getline(10, 15)/g

:%s/foo/\=join(getline(10, 15))/g
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top