Dar sentido a "[[", "]]", "[]", "]["

9

Me resultó difícil entender estos movimientos de objetos de texto:

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

Puedo entender que "]" significa avanzar, al igual que "]}" ir al siguiente "}" sin igual, y la segunda parte "}" describe el objetivo, lo cual tiene sentido.

Pero, ¿qué significa el segundo paréntesis en "]]", "] [", "[[", "[]"? Si el segundo "]" en "]]" significa "'{' en la primera columna", entonces qué pasa con el segundo "]" en "[]", que significa '}' en lugar de '{'. Simplemente no puedo entender estos 4 movimientos de objetos de texto.

Leira Hua
fuente
44
El significado de "sección" se explica 3 párrafos debajo de su presupuesto.
romainl
2
@romainl Eso dice: "el segundo carácter [determina] el tipo de llave encontrado", lo que implica que ]siempre debe coincidir con a }. Esto, como señala el OP, no es el caso. Piden aclaraciones sobre este punto, no para la definición de una sección.
Rico

Respuestas:

5

Ayuda probarlos en un archivo. Puede pensar en estos como "hacia adelante" y "hacia atrás" X "para comenzar" y "para terminar"

Intente usar los cuatro movimientos en este bloque de texto:

function one
{#1

}#2

function two
{#3

}#4

function three
{#5

}#6

No sé cómo hacer esos gifs de movimiento a menudo útiles, pero básicamente, por ejemplo, ]] ]] ]]se moverá de las posiciones # 1-> 3-> 5, y [[al revés; igualmente, muévase entre # 2 <-> 4 <-> 6 usando los movimientos ][y [].

Aquí hay una foto: ingrese la descripción de la imagen aquí

Philip
fuente
4

Estos deben moverse a la parte superior e inferior de las funciones, donde se supone que las llaves de apertura y cierre de las funciones siempre están en la primera columna. (Editorial: este parece no ser el caso en estos días, por lo que estas mociones serán un vestigio para muchos usuarios).

El inicio [o ]indica la dirección en la que irá en el archivo, arriba o abajo respectivamente. Luego, el segundo [o ]medio para ir a una llave abierta en el prólogo de la función o la llave cerrada en el epílogo de la función; si coincide con el personaje principal, vaya a la llave abierta, si es diferente del personaje principal, vaya a la llave cerrada.

Uso [[y con ]]bastante regularidad, aunque normalmente preferiría que me pusieran en la definición de la función. Para mí []y ][no son intuitivos durante la edición y nunca los uso; Desearía poder descubrir cómo hacer que funcionen en mi cerebro porque esta es una operación que a menudo llevo a cabo por otros medios (por ejemplo, el a}movimiento a menudo me cubre).

dash-tom-bang
fuente