Eu acho que isso permitiria que o recurso de seleção visual do vim superasse a eficiência do mouse, fornecendo a capacidade de "alternar" o terminal atual da seleção:
Ilustrado (O |
deve representar o cursor (o Vim opera no lado esquerdo do caractere em que está) e [text]
representa o texto selecionado, apenas finja que eles ocupam largura zero. O plano de fundo do espaço entre [ ]
cinza e o caractere imediatamente seguindo o |
é verde):
Começar com
Some |text here
Some second line of text
Some more text in the third line
Pressione v2j
; observe que o m
caractere está incluído na seleção (agora é destacado pelo cursor):
Some [text here
Some second line of text
Some |m]ore text in the third line
Pressione 10l
:
Some [text here
Some second line of text
Some more text |i]n the third line
É nesse ponto que eu posso decidir que quero começar a selecionar em um local diferente. por exemplo, incluindo o "Some"
na primeira linha.
Não tenho escolha em um editor / IDE típico. Eu provavelmente teria que mover minha mão para o mouse, geralmente é muito doloroso selecionar texto usando métodos tradicionais, o uso de salto de palavra por meio de Ctrl
página / página / para cima / baixo ajuda um pouco, mas não importa o que, eu tenho que confirmar para um dos meus pontos finais da seleção antes de iniciar a seleção .
Portanto, no Vim, eu adoraria a capacidade de pegar meu estado atual e trazê-lo para isso, atingindo uma ligação misteriosa:
Some [|text here
Some second line of text
Some more text i]n the third line
Depois, basta pressionar ^
ou <Home>
(ambos fazem o mesmo neste caso em que não há espaço em branco à esquerda) para transformá-lo em
[|Some text here
Some second line of text
Some more text i]n the third line
Digamos que mude de idéia novamente , quero ajustar o outro lado!
[Some text here
Some second line of text
Some more text |i]n the third line
Hit e
:
[Some text here
Some second line of text
Some more text i|n] the third line
Lindo! Agora posso fazer o que quiser com esta seleção agora.
Então, o que é esse mistério obrigatório?
Além disso, ainda mais potencialmente eficiente seria um conjunto de ligações alternativas para alguns dos comandos de movimento mais usados para outra linha de teclas, e esses (quando no modo visual) sempre moveriam a outra extremidade da seleção. Portanto, nessa operação de seleção do modo visual, se as teclas de movimento para o outro extremo da seleção estivessem definidas como "yuio" (provavelmente não é uma boa escolha, pois precisamos do tipo, y
mas fique de olho comigo), poderíamos ter digitado
v2j10l5ye
ao invés de
v2j10lX^Xe
Ei, você sabe o que, isso não é uma grande melhoria. Apenas me dê esse recurso X. :)
As respostas perfeitas que estou procurando:
- Ei, olhe para cima
:help some_awesome_vim_feature_that_just_does_this
- Ei, olhe para
https://github.com/awesome_user/vim_plugin_that_does_this
- Ei, olhe para
:help vimscript_functions_that_allow_mutation_of_visual_selections
Sou muito novo nesse fascínio pelo Vim, por isso sou muito ecológico no que diz respeito ao Vimscript e, sinceramente, gostaria de ficar longe de tentar aprender outro idioma, por isso espero não ser obrigado a construí-lo como um plugin.
:help
?:help visual-mode
tem todas as informações que você precisa sobre o modo visual, inclusiveo
.O
capital O, mas vou lembraro
. A segunda coisa a que você está se referindo é provavelmente usar:help
mais. E tenho usado mais do que quando comecei.Respostas:
Não tenho certeza se estou realmente entendendo o que você quer, mas talvez seja isso:
Basicamente, enquanto o texto é destacado visualmente, você pode pressionar oe ele pulará para o outro "final" da região visual sem modificá-lo.
fonte
X
acima é realmenteo
o
novamente e voltar.