yasnippet – Necesita ayuda para un fragmento: a para en C

Pregunta:

Estaba cambiando a vim para el modo C-support, y luego descubrí yasnippet para emacs, ¡es increíble, me encanta!

Así que ahora estoy agregando fragmentos básicos para insertar código y actualmente tengo algunas dificultades para hacer un buen fragmento de (…; …; …).

Puedo hacer esto: por ($ 1; $ 2; $ 3)

Pero me gustaría tener algunos valores predeterminados o beneficiarme de la funcionalidad de espejo de yast.

Sé que puedo establecer valores predeterminados con $ {$ 1value} pero, en mi caso, creo que necesito imbricarlos, no he logrado intentarlo. Explico lo que me gustaría: por defecto, debería ser para (int i = 0; i <$ algo; i ++)

Con posibilidad de modificar el tipo int (podría ser nada), el nombre de la variable, que quiero reflejar en la segunda y tercera parte, y la afectación.

La condición también podría ser diferente, pero debe contener la primera variable, lo mismo para el incremento. Es posible ?

Podría ser una mejor idea mantenerlo simple y definir más fragmentos. Me pregunto si algunos de ustedes tienen resultados con fragmentos complejos.

Respuesta:

Para que un valor se repita como lo está pidiendo, simplemente repita $N Por ejemplo, tengo esto for fragmento:

# -*- mode: snippet; require-final-newline: nil -*-
# name: for
# key: for
# --
for(${1:int} ${2:i} = 0; $2 < ${3:N}; $2++) {
    $0
}

La expansión predeterminada es:

for(int i = 0; i < N; i++) {
    //cursor
}

Solo solicita la primera instancia de $2 y actualiza automáticamente las demás para que coincidan.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım