Ich denke, dies würde es der visuellen Auswahlfunktion von vim ermöglichen, die Effizienz selbst der Maus zu übertreffen, indem die Möglichkeit bereitgestellt wird, den aktuellen Endpunkt der Auswahl zu "wechseln":
Illustriert (Das |
soll den Cursor darstellen (Vim lässt es auf der linken Seite des Zeichens arbeiten, auf dem es sich befindet) und [text]
stellt ausgewählten Text dar. Stellen Sie sich einfach vor, dass sie eine Breite von Null einnehmen. Der Hintergrund des Zwischenraums [ ]
sieht grau aus und das Zeichen sofort nach dem |
ist grün):
Beginnen mit
Some |text here
Some second line of text
Some more text in the third line
Drücken Sie v2j
; Beachten Sie, dass das m
Zeichen in der Auswahl enthalten ist (es wird jetzt vom Cursor hervorgehoben):
Some [text here
Some second line of text
Some |m]ore text in the third line
Drücken Sie 10l
:
Some [text here
Some second line of text
Some more text |i]n the third line
An diesem Punkt könnte ich entscheiden, dass ich mit der Auswahl an einem anderen Ort beginnen möchte . zB einschließlich der "Some"
in der ersten Zeile.
Ich habe keine Wahl in einem typischen Editor / IDE. Ich müsste wahrscheinlich meine Hand zur Maus bewegen, es ist normalerweise zu schmerzhaft, Text mit herkömmlichen Methoden auszuwählen. Die Verwendung von Word Hopping via Ctrl
und Page-Up / Down hilft etwas, aber egal was passiert, ich muss mich verpflichten zu einem meiner Endpunkte der Auswahl, bevor ich mit der Auswahl beginne .
In Vim würde ich mich über die Fähigkeit freuen, meinen aktuellen Zustand zu erfassen, indem ich auf eine mysteriöse Bindung treffe:
Some [|text here
Some second line of text
Some more text i]n the third line
Dann kann ich einfach drücken ^
oder <Home>
(beide tun dasselbe in diesem Fall, wenn es kein führendes Leerzeichen gibt), um daraus etwas zu machen
[|Some text here
Some second line of text
Some more text i]n the third line
Angenommen, ich ändere meine Meinung erneut , ich möchte das andere Ende anpassen!
[Some text here
Some second line of text
Some more text |i]n the third line
Treffer e
:
[Some text here
Some second line of text
Some more text i|n] the third line
Schön! Mit dieser Auswahl kann ich jetzt machen, was ich will.
Was ist das für ein Rätsel?
Noch potenziell effizienter wäre eine Reihe alternativer Bindungen für einige der am häufigsten verwendeten Bewegungsbefehle an eine andere Tastenreihe, die (im visuellen Modus) immer das andere Ende der Auswahl verschieben würden. Wenn also in diesem Auswahlmodus für den visuellen Modus die Bewegungstasten für das andere Ende der Auswahl auf "yuio" eingestellt wären (wahrscheinlich keine gute Wahl, da wir sie irgendwie brauchen, y
aber nur mit mir aushalten ), hätten wir tippen können
v2j10l5ye
eher, als
v2j10lX^Xe
Hey weißt du was, das ist nicht mal eine große Verbesserung. Gib mir einfach diese X-Funktion. :) :)
Die perfekten Antworten, die ich suche:
- Hey, schau auf
:help some_awesome_vim_feature_that_just_does_this
- Hey, schau es dir an
https://github.com/awesome_user/vim_plugin_that_does_this
- Hey, schau es dir an
:help vimscript_functions_that_allow_mutation_of_visual_selections
Ich bin ziemlich neu in dieser Faszination für Vim, daher bin ich sehr grün, wenn es um Vimscript geht, und ehrlich gesagt möchte ich mich von dem Versuch fernhalten, noch eine andere Sprache zu lernen , also werde ich hoffentlich nicht gezwungen sein, dies als zu bauen ein Plugin.
:help
?:help visual-mode
enthält alle Informationen, die Sie möglicherweise zum visuellen Modus benötigen, einschließlicho
.O
Kapital O macht, aber ich werde mich erinnerno
. Das zweite, worauf Sie sich beziehen, ist wahrscheinlich,:help
mehr zu verwenden. Und ich habe es mehr benutzt als zu Beginn.Antworten:
Ich bin mir nicht sicher, ob ich wirklich verstehe, was Sie wollen, aber vielleicht ist es das Folgende:
Während Text visuell hervorgehoben wird, können Sie im Grunde drücken ound er springt zum anderen "Ende" des visuellen Bereichs, ohne ihn zu ändern.
quelle
X
oben tatsächlicho
o
erneut tippen und zurückgehen.