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