Jak pozostać w trybie wizualnym po identyfikacji za pomocą shift +> w vimie?

18

Prąd opuszcza tryb wizualny po jednorazowym wcięciu, co jest bardzo denerwujące.

nowy_perl
źródło
5
Aby wciąć więcej niż jeden raz, po prostu użyj .klawisza, aby powtórzyć ostatnią operację
barbaz
Za pomocą . jest dobry. Ale czasami trzeba wykonać inną operację z wybranym kodem po indentig, na przykład yanking. I musisz wybrać wszystko od nowa, co jest do bani
Santi

Odpowiedzi:

25

Możesz użyć polecenia trybu normalnego, gvaby podświetlić poprzedni wybór wizualny. Dlatego możesz użyć następujących mapowań:

:vnoremap < <gv
:vnoremap > >gv

:vnoremapKomenda konfiguruje mapowanie, który będzie działał tylko w trybie wizualnym. W związku z tym ponawiasz polecenia trybu wizualnego <i >, aby wykonać wcięcie i natychmiast ponownie wybrać poprzedni wybór wizualny.


źródło
4
To jest niepoprawne. Należy użyć, vnoremapponieważ vmapbędzie rekurencyjnie mapować i się
zepsuje
3
@texasbruce: Działa mi dobrze z vmap, jednak edytowałem odpowiedź (i mój własny .vimrc), aby używać vnoremap, ponieważ jest to oczywiście bezpieczniejsze.
5

Używanie kropki „.” powtórzy wcięcie wcześniej zaznaczonego tekstu, jeśli był to najnowszy tekst edycji. Nie powoduje to ponownego wyboru tekstu, ale działa również dobrze.

Hannes
źródło