Как добавить символ в указанный столбец c в конце каждой строки в Vim? - PullRequest
3 голосов
/ 28 апреля 2020

Как добавить маркер backsla sh в указанный столбец c в конце каждой строки в Vim?

Например, я бы хотел

Lorem ipsum dolor sit amet, 
consectetur adipiscing elit. 
Ut nec orci sagittis, pharetra ex ut, 
aliquet nisi. 

стать

Lorem ipsum dolor sit amet,            \
consectetur adipiscing elit.           \
Ut nec orci sagittis, pharetra ex ut,  \
aliquet nisi.                          \

В этом примере обратные слеши были вставлены в столбец 40. Я знаю, как вставлять их в конце каждой строки (%s/$/\\/g), но не знаю, как вставить необходимые пробелы для выравнивания маркеров.

Спасибо за любую помощь

1 Ответ

2 голосов
/ 28 апреля 2020

Один простой способ сделать это - включить 'virtualedit', по крайней мере, временно, чтобы вы могли перейти к столбцу за концом строки.

:set virtualedit=all

Один раз вы находитесь в правильном столбце, вы можете использовать Ctrl + V, чтобы ввести блочный визуальный режим и выбрать этот столбец в каждой строке.

Для этого конкретного примера с 4 строками текста, добавив backsla sh в столбец 40, вы можете использовать следующую последовательность: 40| (go для столбца 40, пока еще в первой строке), <C-V> (войти в режим визуального блока), 3j (переместить вниз на 3 строки.)

На этом этапе вы можете использовать r\, чтобы «заменить» символ под курсором на обратную косую черту sh. (На самом деле под курсором нет символа, но 'virtualedit' сделает правильные маги c, чтобы добавить достаточно пробелов, чтобы добраться до этого столбца и получить обратную косую черту.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...