Comment rester en mode visuel après s'être identifié par shift +> dans vim?

18

Actuel, il quitte le mode visuel après une mise en retrait, ce qui est très gênant.

new_perl
la source
5
Pour indenter plusieurs fois, utilisez simplement la .touche pour répéter la dernière opération
barbaz
En utilisant . est bon. Mais parfois, vous devez effectuer une opération différente avec le code sélectionné après l'indentification, comme le tirage par exemple. Et vous devez sélectionner à nouveau, ce qui est nul
Santi

Réponses:

25

Vous pouvez utiliser la commande du mode normal gvpour mettre en surbrillance la sélection visuelle précédente. Par conséquent, vous pouvez utiliser les mappages suivants:

:vnoremap < <gv
:vnoremap > >gv

La :vnoremapcommande configure un mappage qui ne fonctionnera qu'en mode visuel. Vous reconsolidation donc les <et >commandes en mode visuel pour effectuer le tiret et immédiatement resélectionnez la sélection visuelle précédente.


la source
4
Ce n'est pas correct. Doit utiliser vnoremapcar vmapsera récursivement mappé et il casserait
texasbruce
3
@texasbruce: Cela fonctionne bien pour moi avec vmap, cependant j'ai édité la réponse (et mon propre .vimrc) pour utiliser vnoremap car il est évidemment plus sûr.
5

Utilisation du point "." répète l'indentation du texte précédemment sélectionné s'il s'agissait de la dernière modification du texte. Cela ne resélectionne pas le texte, mais fait aussi bien le travail.

Hannes
la source