Ответы:
Я делаю следующее, чтобы добавить текст в несколько строк:
<c-V>
- Войдите в режим визуальной блокировки.j
/ k
для выбора линий.$
- Переместить курсор на последний символ.A
- Войдите в режим вставки после последнего символа.<Esc>
- Выйдите из режима вставки и завершите добавление блока.По сравнению с написанием :norm
после выбора, нажатия клавиш еще меньше, но настоящая причина, по которой я это использую, заключается в том, что для меня более инстинктивно работать в режиме визуального блока для изменений такого типа.
В первой строке просто наберите:
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.
на выбранных строках. normal A.
выполняется A.
в обычном режиме нажатия клавиш. Это A
добавляет a .
в конце каждой из выбранных строк.
Если вы хотите добавить точку в конце всех строк:
:%norm A.
или вы можете использовать поиск и заменить:
:%s/$/./
% - это целый файл, $ - конец строки
:1,4s/$/./
который заменяет последний символ точкой на строках с 1 по 4 включительно.
Чтобы сделать его немного более общим, вы можете записать макрос в одну строку, а затем воспроизвести его на каждой строке в выбранном вами диапазоне.
Запишите макрос в регистр (регистр q в этом примере):
qqA.<Esc>q
Затем вы можете визуально выбрать линии, с которыми хотите работать:
Vip
А затем воспроизведите ваш макрос в каждой строке (диапазон будет заполнен автоматически):
:'<,'>norm @q