Déchiffrer "[[", "]]", "[]", "]["

9

J'ai eu du mal à comprendre ces mouvements d'objet texte:

                            *]]*
]]          [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.

Je peux comprendre que "]" signifie en avant, tout comme "]}" aller au prochain "}" sans correspondance, et la deuxième partie "}" décrit la cible, ce qui a du sens.

Mais que signifient les deuxièmes crochets entre "]]", "] [", "[[", "[]"? Si le deuxième "]" dans "]]" signifie "'{' dans la première colonne", alors qu'en est-il du deuxième "]" dans "[]", qui signifie '}' plutôt que '{'. Je ne peux tout simplement pas donner un sens à ces 4 mouvements d'objet texte.

Leira Hua
la source
4
La signification de «section» est expliquée 3 paragraphes ci-dessous votre devis.
romainl
2
@romainl Cela dit: "le deuxième caractère [détermine] le type d'accolade trouvé", ce qui implique que cela ]doit toujours correspondre à a }. Comme le souligne le PO, ce n'est pas le cas. Ils demandent des éclaircissements sur ce point, pas sur la définition d'une section.
Rich

Réponses:

5

Il est utile de les tester sur un fichier. Vous pouvez les considérer comme "avant" et "arrière" X "pour commencer" et "pour terminer"

Essayez d'utiliser les quatre mouvements sur ce bloc de texte:

function one
{#1

}#2

function two
{#3

}#4

function three
{#5

}#6

Je ne sais pas comment faire ces gifs de mouvement souvent utiles, mais fondamentalement, par exemple, ]] ]] ]]je passerai des positions # 1-> 3-> 5, et [[inversement; de même, déplacez-vous entre # 2 <-> 4 <-> 6 en utilisant les mouvements ][et [].

Voici une photo: entrez la description de l'image ici

Philippe
la source
4

Ceux-ci doivent se déplacer vers le haut et le bas des fonctions, où l'hypothèse est que les accolades d'ouverture et de fermeture des fonctions sont toujours dans la première colonne. (Éditorial: il semble que ce ne soit pas souvent le cas de nos jours, ces motions resteront donc pour de nombreux utilisateurs.)

Le premier [ou ]indique la direction dans laquelle vous allez aller dans le fichier, respectivement vers le haut ou vers le bas. Ensuite, le second [ou ]signifie aller soit à une accolade ouverte au prologue de la fonction, soit à l'accolade étroite à l'épilogue de la fonction; s'il correspond au personnage principal, vous passez à l'accolade ouverte, s'il est différent du personnage principal, vous passez à l'accolade fermée.

J'utilise [[et ]]assez régulièrement même si je préfère normalement être mis sur la définition de la fonction. Pour moi []et ne ][sont pas intuitifs lors de l'édition et je ne les utilise jamais; J'aimerais pouvoir comprendre comment les faire fonctionner dans mon cerveau, car c'est une opération que j'accomplis souvent par d'autres moyens (par exemple, le a}mouvement me couvre souvent).

dash-tom-bang
la source