Подтвердить что ты не робот

Vim: выравнивание строк с символом

Как я могу повторно добавить символ в конце одной или нескольких строк, удаляя строки (строки) в конкретный столбец?

Например:
('x' представляет столбец 40, а не символ в строке, и после текста нет пробелов или вкладок)

line one                               x
line two                               x
line three                             x
line eleventy-billion                  x

становится

line one ------------------------------x
line two ------------------------------x
line three ----------------------------x
line eleventy-billion -----------------x
4b9b3361

Ответ 2

На всякий случай, когда кто-нибудь столкнется с этим в будущем, у меня есть альтернативный способ, которым я пользуюсь который (я думаю) легче запомнить в редкий случай, когда нужно вручную выложить несколько строк.

Текст ввода:

Here are some words
They do not have equal length
I want to insert characters after them until column 40
How to do?

Что вы набираете:

gg                // Position cursor anywhere on first line you want to pad
q1$40A-<Esc>d40|q // Looks more complex than it is.
                  // Here, in English:
                  // 1. Record a macro in slot 1
                  // 2. Go to the end of the line, then *A*ppend a '-' 40 times
                  // 3. Delete from cursor position (which is still at the end of the line) to column 40
                  // 4. Stop recording
:1,4normal @1     // Repeat macro "1" for every line

Выходной текст:

Here are some words-----------------
They do not have equal length-------
I want to insert characters after t-
How to do?--------------------------

Надеюсь, вы сможете выяснить, как настроить различные части команды, чтобы сделать именно то, что вы хотите. Примечание, что текст, который длиннее требуемого диапазона столбцов, будет усечен (показан в строке 3).