Rozwiń zaznaczenie wizualne w innym kierunku

31

Czasami wybrałem selekcję wizualną, na przykład, Vjjjjjtylko po to, aby uświadomić sobie później, że powinienem był rozpocząć selekcję o jedną linię wyżej. Jednak naciśnięcie kpo prostu zmniejsza dolny zakres zaznaczenia, zamiast przesuwać cały zaznaczenie w górę o jedną linię.

Oto wizualizacja (ha, ha), w której linie pogrubione to te, które wybrałem:

Nie wybieraj tej linii
Nie wybieraj tej linii
Wybierz tę linię!        
Wybierz tę linię!         <- Nacisnąłem Vtutaj ...
 Wybierz tę linię! 
Wybierz tę linię! 
Wybierz tę linię! 
Wybierz tę linię!         <- ... i przeprowadziłem się tutaj. Ale powinienem był zacząć
Nie wybieraj tego wyboru linii o jedną linię wyżej!
Nie wybieraj tej linii

Jak mogę rozszerzyć zaznaczenie wizualne, przesuwając jego punkt początkowy w innym kierunku? Jeśli nie jest to możliwe, czy jest jakiś sposób, aby dodać mapowanie w moim .vimrc, które pozwala mi to zrobić?

Klamka
źródło

Odpowiedzi:

45

Możesz użyć opolecenia z :help v_o:

Idź do drugiego końca podświetlonego tekstu: Bieżąca pozycja kursora staje się początkiem podświetlonego tekstu, a kursor jest przenoszony na drugi koniec podświetlonego tekstu. Podświetlony obszar pozostaje taki sam.

Po zakończeniu wybierania linii, które chcesz nacisnąć o, kursor przejdzie na początek zaznaczenia i możesz wybrać linię wcześniej, naciskając k.

toro2k
źródło
2
o
Szczęka opadła,