Machen Sie Sinn aus "[[", "]]", "[]", "] ["

9

Es fiel mir schwer, diese Textobjektbewegungen zu verstehen:

                            *]]*
]]          [count] sections forward or to the next '{' in the
            first column.  When used after an operator, then also
            stops below a '}' in the first column.  |exclusive|
            Note that |exclusive-linewise| often applies.

                            *][*
][          [count] sections forward or to the next '}' in the
            first column.  |exclusive|
            Note that |exclusive-linewise| often applies.

                            *[[*
[[          [count] sections backward or to the previous '{' in
            the first column.  |exclusive|
            Note that |exclusive-linewise| often applies.

                            *[]*
[]          [count] sections backward or to the previous '}' in
            the first column.  |exclusive|
            Note that |exclusive-linewise| often applies.

Ich kann verstehen, dass "]" vorwärts bedeutet, genau wie "]}" gehe zum nächsten unübertroffenen "}", und der zweite Teil "}" beschreibt das Ziel, was Sinn macht.

Aber was bedeutet die zweite Klammer in "]]", "] [", "[[", "[]"? Wenn das zweite "]" in "]]" "{" in der ersten Spalte "bedeutet, was ist dann mit dem zweiten"] "in" [] ", was"} "und nicht" {"bedeutet? Ich kann diese 4 Textobjektbewegungen einfach nicht verstehen.

Leira Hua
quelle
4
Die Bedeutung von "Abschnitt" wird 3 Absätze unter Ihrem Zitat erläutert.
Romainl
2
@romainl Das heißt: "Das zweite Zeichen [bestimmt] den Typ der gefundenen Klammer", was impliziert, dass ]immer a übereinstimmen sollte }. Dies ist, wie das OP hervorhebt, nicht der Fall. Sie bitten um Klarstellung in diesem Punkt, nicht um die Definition eines Abschnitts.
Rich
siehe auch vi.stackexchange.com/questions/17774/… und Section Movement Theory von Steve Losh
Hotschke

Antworten:

5

Es hilft, diese in einer Datei zu testen. Sie können sich diese als "vorwärts" und "rückwärts" X vorstellen, um zu beginnen "und" zu beenden ".

Versuchen Sie, die vier Bewegungen in diesem Textblock zu verwenden:

function one
{#1

}#2

function two
{#3

}#4

function three
{#5

}#6

Ich weiß nicht, wie ich diese oft hilfreichen Bewegungs-Gifs machen soll, aber im Grunde genommen ]] ]] ]]bewege ich mich zB von den Positionen 1-> 3-> 5 und [[umgekehrt. in ähnlicher Weise unter # 2 bewegen <-> 4 <-> 6 die Verwendung ][und []Bewegungen.

Hier ist ein Bild: Geben Sie hier die Bildbeschreibung ein

Philip
quelle
4

Diese sollen an den oberen und unteren Rand von Funktionen verschoben werden, wobei davon ausgegangen wird, dass sich die öffnenden und schließenden Klammern der Funktionen immer in der ersten Spalte befinden. (Editorial: Dies scheint heutzutage nicht oft der Fall zu sein, daher sind diese Anträge für viele Benutzer ein Überbleibsel.)

Die führenden [oder ]geben die Richtung an, in die Sie in der Datei gehen, nach oben oder unten. Dann das zweite [oder ]bedeutet, entweder zu einer offenen Klammer beim Funktionsprolog oder zu einer geschlossenen Klammer beim Funktionsepilog zu gehen; Wenn es mit dem Hauptcharakter übereinstimmt, gehen Sie zur offenen Klammer. Wenn es sich von dem Hauptcharakter unterscheidet, gehen Sie zur geschlossenen Klammer.

Ich benutze [[und ]]ziemlich regelmäßig, obwohl ich normalerweise lieber auf die Funktionsdefinition gesetzt würde. Für mich []und ][sind beim Bearbeiten nicht intuitiv und ich benutze sie nie; Ich wünschte, ich könnte herausfinden, wie ich sie in meinem Gehirn zum Laufen bringen kann, da dies eine Operation ist, die ich oft auf andere Weise durchführe (z. B. a}deckt mich die Bewegung oft ab).

Dash-Tom-Bang
quelle