Как сохранить визуальный режим после идентификации по shift +> в vim?


18

Текущий он выходит из визуального режима после отступа один раз, что очень раздражает.


5
Чтобы сделать отступ более одного раза, просто используйте .клавишу, чтобы повторить последнюю операцию
barbaz

С помощью . хороший. Но иногда вам нужно выполнить другую операцию с выбранным кодом после отступа, например, например, yanking. И вы должны выбрать все снова, что отстой
Санти

Ответы:


25

Вы можете использовать команду нормального режима, gvчтобы выделить предыдущий визуальный выбор. Поэтому вы можете использовать следующие сопоставления:

:vnoremap < <gv
:vnoremap > >gv

Команда :vnoremapустанавливает отображение, которое будет работать только в визуальном режиме. Таким образом, вы выполняете привязку команд <и >визуального режима для выполнения отступа и сразу же выбираете предыдущий визуальный выбор.


4
Это не правильно. Должен использовать, vnoremapпотому что vmapбудет рекурсивно отображать, и он сломается
texasbruce

3
@texasbruce: у меня это хорошо работает с vmap, однако я отредактировал ответ (и мой собственный .vimrc), чтобы использовать vnoremap, поскольку он, очевидно, безопаснее.

5

Используя точку "." будет повторять отступ ранее выделенного текста, если это было самое новое редактирование текста. Это не повторный выбор текста, но делает работу так же хорошо.

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