Как визуально выделить блок текста, который я только что вставил в Vim?

13

Мне обычно нужно перемещать / копировать фрагменты кода между моими исходными файлами. После того, как я вставляю блок текста, мне обычно нужно применить к этому блоку некоторую операцию, например, переопределить их =.

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

thameera
источник

Ответы:

21

'[И ']знаки ограничения первой и последней строки ранее измененной или скопированного текста. `[И `]коллеги ограничивают соответствующие строки & столбцы.

Используя это, вы можете визуально выбрать последний измененный блок строк, '[V']а затем применить =команду.

Однако, поскольку вставка оставляет курсор на первой строке вставленного содержимого, вы также можете просто указать движение, к которому =должна быть применена команда, в данном случае к ']отметке. Это было бы ='].

jamessan
источник
В этом ответе описывается метод, который работает для всех типов визуальных выделений (включая блочное визуальное представление): stackoverflow.com/questions/4312664/…
Адам Быртек,
14

Это отображение позволяет вам повторно выбрать текст, который вы только что вставили:

nnoremap gV `[v`]

Но вы должны были использовать [pи ]pвместо этого.

См :help [p.

romainl
источник
2
+1 за [pи]p
lisowski.r
3

Vim включает следующие полезные отображения:

`[

и

`]

Который выбирает первый и последний символ ранее измененного текста соответственно.

Следующая серия клавиш (в обычном режиме) выделит последний вставленный текст:

`[v`]

Для более быстрого доступа вы можете настроить отображение, например :

nnoremap gp `[v`]
asfallows
источник