Ответы:
Я делаю следующее, чтобы добавить текст в несколько строк:
<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