Вставить блок Vim или новую строку - PullRequest
0 голосов
/ 24 сентября 2018

У меня есть проблема, когда я пытаюсь вытащить / вырезать и вставить блок текста с помощью Vim, и он ведет себя непоследовательно.

Что происходит так:

В этом тексте ниже:Я что, вырезать среднюю колонку и вставлять после третьей.Поэтому я блокирую выделение (ctrl-v) текста, обрезаю его (x), перемещаю курсор в конец третьего столбца (теперь 2-го) и вставляю (p)

A 1 a
B 2 b 
C 3 c
D 4 d

Иногда Vim делаетэто правильно, и результат таков:

A a 1
B b 2
C c 3
D d 4

и иногда результат таков:

A a
1
2
3
4
B b
C c
D d

Мне нужно контролировать это поведение, а не быть его заложником ... Как мне контролировать это поведение?

Ответы [ 2 ]

0 голосов
/ 25 сентября 2018

Ну, один из ответов - плагин UnconditionalPaste (https://vimawesome.com/plugin/unconditionalpaste)

с «gbp», когда вы вставляете блок в строку (я переназначил на [LEADER] pb)

, это работает ...

0 голосов
/ 24 сентября 2018

Рекомендую прочитать разделы справки для визуального выбора, :h visual.txt.Раздел visual-operators и его примечания могут быть особенно полезны.Поведение выбора довольно последовательное и простое для понимания.Если вы вырезаете или копируете что-то, ожидайте, что оно будет размещено в том же режиме: символы, строки или блоки.

I, чтобы вырезать столбец middl и вставить после третьего.Поэтому я блокирую выделение (ctrl-v) текста, дергаю его (y), беру курсор на конец третьего столбца (теперь 2-го) и вставляю (p)

Это не тактебе следует это сделать.Чтобы «вырезать» средний столбец, как вы описываете, вы использовали x, а не y.Янки просто скопирует его и оставит там.

Blockwise selection demo

Что касается вашего последнего примера, когда контент был вставлен аналогичным образом, этого не должно происходить при использовании p, поскольку он сохраняетблочная информация.Единственное возможное объяснение, которое приходит мне в голову, это то, что вы удалили столбец и использовали :put для его вставки.Это преобразует его в пасту.В качестве альтернативы:

  • Вы также дернули что-то (скажем, из V) и пытаетесь вставить его в блок
  • Ваш пример плохо переводит вашу проблему
  • Существует какой-то плагин или конфигурация, влияющие на это
  • Случайные неизвестные ключи были захлопнуты в процессе
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...