Agrandir une sélection visuelle dans l'autre sens

31

Parfois, j'ai sélectionné une sélection visuelle avec, par exemple, Vjjjjjpour me rendre compte plus tard que j'aurais dû commencer la sélection une ligne plus haut. Cependant, appuyer sur kdiminue simplement la plage inférieure de la sélection plutôt que de déplacer la sélection entière sur une ligne.

Voici un visuel isation (ha, ha), où les lignes sont celles bolded je choisis:

Ne sélectionnez pas cette ligne
Ne sélectionnez pas cette ligne
Sélectionnez cette ligne!        
Sélectionnez cette ligne!         <- J'ai appuyé Vici ...
 Sélectionnez cette ligne! 
Sélectionnez cette ligne! 
Sélectionnez cette ligne! 
Sélectionnez cette ligne!         <- ... et déménagé ici. Mais j'aurais dû commencer ma
Ne sélectionnez pas cette sélection de ligne une ligne plus haut!
Ne sélectionnez pas cette ligne

Comment étendre une sélection visuelle en déplaçant son point de départ dans l'autre sens? Si ce n'est pas possible, existe-t-il un moyen d'ajouter un mappage dans mon .vimrc qui me permette de le faire?

Poignée de porte
la source

Réponses:

45

Vous pouvez utiliser la ocommande, depuis :help v_o:

Aller à l'autre extrémité du texte en surbrillance: la position actuelle du curseur devient le début du texte en surbrillance et le curseur est déplacé à l'autre extrémité du texte en surbrillance. La zone en surbrillance reste la même.

Ainsi, lorsque vous avez terminé de sélectionner les lignes sur lesquelles vous souhaitez appuyer o, le curseur se déplace au début de la sélection et vous pouvez sélectionner la ligne avant en appuyant sur k.

toro2k
la source
2
JAW DROPPED when I o
pressed,: