Pregunta

Estoy usando los complementos Supertab y SnipMate. Digamos que estoy usando SnipMate para crear una estructura de instrucción IF. Una vez que haya terminado de agregar declaraciones dentro de la declaración IF, ¿cómo puedo mover rápidamente el cursor después de la declaración IF? Por ejemplo:

if [ $a = "b" ]; then
  bla;
fi

Si mi cursor está justo en el punto y coma y estoy en modo de inserción. ¿Cuál es la menor cantidad de acciones que puedo tomar para mover el cursor a la línea después de la 'fi'? Si presiono la pestaña, Supertab simplemente abra una ventana de autocompletar.

Gracias

¿Fue útil?

Solución

Si está usando SnipMate, sugeriría modificar el fragmento para su tipo de archivo. Por ejemplo, el ejemplo que das me parece que es algo así como un fragmento de script de shell. En ese caso, entonces modificaría su-VIM-Configuration-Folder/Spippets/SH.Snippets a nosotros una definición como la siguiente (agregando una variable de pestaña adicional al final del fragmento):

snippet if
  if [ ${1:condition} ]; then
    ${2:#statements}
  fi
  ${3}

SnipMate le permitirá usar la pestaña y las teclas de tabla de cambio para moverse de un lado a otro entre la condición, las declaraciones y el final del bloque if.

Otros consejos

No seguro sobre los complementos (no los uso, pero en VIM regular):

<Esc>
/fi$
o

El signo $ puede ser superfluo la mayor parte del tiempo.

Solo presiona C-o o

Yo presionaba Esc O Para iniciar el modo de insertar en la siguiente línea. Pero tal vez podría reconfigurar Snipmate para que pueda presionar alguna otra tecla en lugar de pestaña para terminar el fragmento?

Si no lo has mapeado, el abajo La tecla de flecha también debe mover el cursor a la siguiente línea.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top