Допустим, у меня был блок текста ...
Lorem ipsum
Lorem ipsum dolor
Lorem ipsum dolor sit
Lorem ipsum dolor sit amet
... и я хотел вставить .
в конце каждой строки. Каков наилучший подход для достижения этой цели?
insert-mode
visual-block
vim.ryan
источник
источник
В первой строке просто наберите:
4:norm A.
4
и:
создать диапазон для вас, а затемnorm A.
добавляет точку к каждой строкеДругое решение для более длинных параграфов может быть:
Vip<C-v>$A.<Esc>
Первым шагом является выбор абзаца,
Vip
затем вы переходите в режим визуального блока и перемещаете курсор в конец каждой строки,$
затем добавляете.
к каждой строке и переходите вA.
нормальный режим,<Esc>
чтобы увидеть, как изменения будут применены к каждой строке. ,источник
:A
команда? Я не нашел это через:h :A
4:norm A.
было бы4:s/$/.
Сначала вы можете визуально выбрать их, используя,
V
а затем использовать клавиши перемещения, чтобы выделить весь текст (или, если текст был строго абзацем, вы могли бы сделать это [начиная с первой строки]V}
). А потом типа:
. Это должно вызвать что-то вроде:'<,'>
в командной строке.Это выполняется
normal A.
на выбранных строках.normal A.
выполняетсяA.
в обычном режиме нажатия клавиш. ЭтоA
добавляет a.
в конце каждой из выбранных строк.источник
Если вы хотите добавить точку в конце всех строк:
или вы можете использовать поиск и заменить:
% - это целый файл, $ - конец строки
источник
:1,4s/$/./
который заменяет последний символ точкой на строках с 1 по 4 включительно.Чтобы сделать его немного более общим, вы можете записать макрос в одну строку, а затем воспроизвести его на каждой строке в выбранном вами диапазоне.
Запишите макрос в регистр (регистр q в этом примере):
Затем вы можете визуально выбрать линии, с которыми хотите работать:
А затем воспроизведите ваш макрос в каждой строке (диапазон будет заполнен автоматически):
источник