В настоящее время у меня есть два аналогичных метода для замены всего буфера другим текстом (скажем, в буфере обмена).
Способ № 1:
удалить все строки:
:%d.вставить текст: "+P(или аналогичный:)
:put+.
Способ № 2:
визуально выделить все строки: ggVG.
вставить текст: "+P.
Однако я не мог найти способ сделать это одним выстрелом. Самый близкий, который я нашел, это :changeкоманда. Но это не очень хорошо работает с регистрами. Конечно, я могу создать некоторую функцию и / или сопоставить ключ для этого. Но прежде чем я смогу выполнить все эти настройки, я хочу убедиться:
Есть ли какая-то встроенная команда для замены диапазона строк другим текстом? Мол, вы могли
:%replace+бы заменить весь буфер текстом в буфере обмена?
1,$s/\_./\=@+это не решение: P, :%d|put+ближе, но не совсем там.
1,$s/\_.*/\=@+, где \_.совпадает любой символ, включая перевод строки.
:%d|put+отвечает всем требованиям. Это коротко и незабываемо. Другая команда слишком загадочна, чтобы ее можно было запомнить и правильно ввести.