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

Как вставить столбец текста после другого столбца текста в Vim?

У меня есть два столбца с текстом, и я хочу, чтобы они были бок о бок. Например, у меня есть

abc
def
ghi

и

123
456
789

и я хочу

123 abc
456 def
789 ghi

Все, что я могу найти, - это вставить одну и ту же строку в конец каждой строки в столбце. Я не могу понять, как вставить многострочный блок текста в конец другого столбца.

4b9b3361

Ответ 1

Используйте визуальный блок (ctrl-v), чтобы вырезать столбец букв. Затем перейдите в первую строку столбца номера. Переместитесь в конец и сделайте одно пространство. Затем вставьте столбец букв.

Ответ 2

Мне было интересно, почему "визуальный блочный режим" не работает для меня. Ключ состоит в yank (или удалении) в визуальном режиме.

Мне нужно скопировать некоторые вещи из столбцов excel с переменной длиной. Вот как я это делаю:

Names
Donald Knuth
Sebastian Thrun
Peter Norvig
Satoshi Nakamoto

Age
100
50
60
45

Скажем, вы хотите поместить второй столбец после первого.

  • Уберите его в визуальном режиме:
    • Переместите курсор в начало Age
    • Нажмите Ctrl + v, чтобы войти в визуальный режим.
    • Переместите курсор на 5 в 45
    • Нажмите y, чтобы вынуть (или d для удаления)

Вы теперь дергались в визуальном режиме.

  1. Вставить (в обычном режиме)

    • Переместитесь в конец первой строки и добавьте больше пробелов, потому что она короче, чем вторая строка, например. Если вы вставляете "блок" без добавления лишних пробелов, он перезаписывает "run" в Sebastian Thrun.

    • Теперь вы на первой строке, вставьте несколько пробелов после последнего символа. Убедитесь, что вы не находитесь в режиме вставки и нажмите p, чтобы вставить блок. (Если вы хотите вставить в режиме вставки, используйте ctrl+r ")

enter image description here

Ответ 3

У вас есть:

abc
def
ghi

123
456
789

Переместите курсор на a. Затем CTRL+V и переместите курсор на i. Нажмите y.

Затем добавьте пробел после символа 3 и нажмите p.

Готово.

Ответ 4

Это может показаться очевидным, но если вы вставляете из внешнего скопированного буфера, он не будет работать с вставкой только визуального режима. Что вы можете сделать, сначала сделайте обычную пасту в пустой области и вертикальную вырезку/вставку, используя вышеуказанный метод.

Ответ 5

Если вы хотите вручную установить тип регистра, скажем, блочный, используйте это

:call setreg(0, getreg(0), 'b')

или же

:call setreg('*', getreg('*'), 'b')

Полезно для вставки столбца из редактора электронных таблиц.

Смотрите :help setreg и vimtip для деталей.

Ответ 6

Если вы на Mac и не можете понять, почему вставка вставляет блок в новые строки, это потому, что вы используете системный монтажный картон.

Нет проблем, просто вставьте/вставьте с буферами:

  1. Ctrl v - выберите то, что вы хотите дергать
  2. " letter y - рывок в буфер letter
  3. Перейти туда, куда вы хотите вставить
  4. " буква p - вставка из буфера letter

Убедитесь, что letter не + как это буфер системного буфера и, следовательно, он будет иметь тот же эффект.