Expanda uma seleção visual na outra direção

31

Às vezes, selecionei uma seleção visual com, por exemplo, Vjjjjjapenas para perceber mais tarde que eu deveria ter iniciado a seleção uma linha acima. No entanto, pressionar ksimplesmente diminui o intervalo inferior da seleção em vez de mover a seleção inteira uma linha acima.

Aqui está uma visualização (ha, ha), onde as linhas em negrito são as que selecionei:

Não selecione esta linha
Não selecione esta linha
Selecione esta linha!        
Selecione esta linha!         <- Pressionei Vaqui ...
 Selecione esta linha! 
Selecione esta linha! 
Selecione esta linha! 
Selecione esta linha!         <- ... e mudou-se para aqui. Mas eu deveria ter começado o meu
Não selecione essa seleção de linha uma linha acima!
Não selecione esta linha

Como posso estender uma seleção visual movendo seu ponto de partida na outra direção? Se isso não for possível, existe alguma maneira de adicionar um mapeamento no meu .vimrc que permita isso?

Maçaneta
fonte

Respostas:

45

Você pode usar o ocomando, de :help v_o:

Ir para Outro final do texto destacado: A posição atual do cursor se torna o início do texto destacado e o cursor é movido para a outra extremidade do texto destacado. A área destacada permanece a mesma.

Portanto, quando você terminar de selecionar as linhas que deseja pressionar o, o cursor se moverá para o início da seleção e você poderá selecionar a linha antes pressionando k.

toro2k
fonte
2
o
JAW DROPPED