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


13

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

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

Ответы:


21

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

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

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


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

14

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

nnoremap gV `[v`]

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

См :help [p.


2
+1 за [pи]p
lisowski.r

3

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

`[

и

`]

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

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

`[v`]

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

nnoremap gp `[v`]
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.