Je pense que cela permettrait à la fonction de sélection visuelle de vim de surpasser l'efficacité même de la souris en offrant la possibilité de "changer" le terminus actuel de la sélection:
Illustré (le |
doit représenter le curseur (Vim le fait fonctionner à gauche du caractère sur lequel il se trouve) et [text]
représente le texte sélectionné, il suffit de faire comme s'il occupait une largeur nulle. Le fond de l'espace entre [ ]
semble gris et le caractère immédiatement suivant le |
vert):
Commencer avec
Some |text here
Some second line of text
Some more text in the third line
Appuyez sur v2j
; notez que le m
caractère est inclus dans la sélection (il est maintenant mis en évidence par le curseur):
Some [text here
Some second line of text
Some |m]ore text in the third line
Presse 10l
:
Some [text here
Some second line of text
Some more text |i]n the third line
C'est à ce stade que je pourrais décider que je voulais commencer à sélectionner à partir d'un emplacement différent. par exemple, y compris le "Some"
sur la première ligne.
Je n'ai pas le choix dans un éditeur / IDE typique. Je devrais probablement déplacer ma main vers la souris, il est généralement trop pénible de sélectionner du texte en utilisant des méthodes traditionnelles, l'utilisation du saut de mot via Ctrl
et de la page haut / bas aide quelque peu, mais quoi qu'il en soit, je dois m'engager à l'un de mes points de fin de la sélection avant de commencer la sélection .
Donc, à Vim, j'adorerais avoir la possibilité de prendre mon état actuel et de l'amener à cela en frappant une liaison mystère:
Some [|text here
Some second line of text
Some more text i]n the third line
Ensuite, je peux simplement appuyer sur ^
ou <Home>
(les deux font la même chose dans ce cas où il n'y a pas d'espace blanc) pour le transformer en
[|Some text here
Some second line of text
Some more text i]n the third line
Dis que je change d'avis à nouveau , je veux ajuster l'autre extrémité!
[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
Belle! Je peux maintenant faire ce que je veux avec cette sélection.
Alors, quel est ce mystère qui lie?
De plus, un ensemble de liaisons alternatives pour certaines des commandes de mouvement les plus utilisées vers une autre ligne de touches, encore plus efficace, déplacerait toujours l'autre extrémité de la sélection. Donc, dans cette opération de sélection du mode visuel, si les touches de mouvement de l'autre extrémité de la sélection étaient définies sur "yuio" (probablement pas un bon choix car nous avons en quelque sorte besoin y
mais supportons avec moi) nous aurions pu taper
v2j10l5ye
plutôt que
v2j10lX^Xe
Hé, vous savez quoi, ce n'est même pas vraiment une amélioration. Donne-moi juste cette fonctionnalité X. :)
Les réponses parfaites que je recherche:
- Hé, regarde
:help some_awesome_vim_feature_that_just_does_this
- Hé, regarde
https://github.com/awesome_user/vim_plugin_that_does_this
- Hé, regarde
:help vimscript_functions_that_allow_mutation_of_visual_selections
Je suis assez nouveau dans cette fascination pour Vim, donc je suis très vert en ce qui concerne Vimscript, et honnêtement, je voudrais éviter d'essayer d'apprendre une autre langue, donc j'espère que je ne serai pas obligé de construire cela comme un plugin.
:help
?:help visual-mode
contient toutes les informations dont vous pourriez avoir besoin sur le mode visuel, y compriso
.O
O majuscule, mais je m'en souviendraio
. La deuxième chose à laquelle vous faites référence est probablement d'utiliser:help
plus. Et je l'utilise plus que lorsque j'ai commencé.Réponses:
Je ne suis pas sûr de bien comprendre ce que vous voulez, mais c'est peut-être ceci:
Fondamentalement, alors que le texte est visuellement en surbrillance, vous pouvez appuyer sur oet il passera à l'autre "extrémité" de la région visuelle sans le modifier.
la source
X
ci-dessus est en faito
o
nouveau et revenir en arrière.