spostare il cursore vim dopo una funzione
-
18-09-2019 - |
Domanda
Sto utilizzando sia il supertab e snipmate plugin. Diciamo che sto usando snipmate di creare una struttura di se dichiarazione. Una volta che ho finito di aggiungere istruzioni all'interno del se-dichiarazione, come posso spostare rapidamente il cursore dopo la se-dichiarazione. Ad esempio:
if [ $a = "b" ]; then
bla;
fi
Se il mio cursore si trova proprio sul punto e virgola e io sono in modalità di inserimento. Qual è il numero minimo di azioni posso prendere per spostare il cursore sulla riga dopo il 'fi'? Se premo scheda, supertab basta aprire una finestra di completamento automatico.
Grazie
Soluzione
Se si utilizza snipMate Io suggerirei di modificare il frammento per il tipo di file. Per esempio l'esempio si dà a me sembra di essere qualcosa di simile a un frammento di script di shell. In quel caso, allora mi piacerebbe modificare la vostra-VIM-CONFIGURAZIONE-folder / frammenti / sh.snippets a noi una definizione simile alla seguente (l'aggiunta di una variabile scheda aggiuntiva alla fine del frammento):
snippet if
if [ ${1:condition} ]; then
${2:#statements}
fi
${3}
snipMate verrà poi permetterà di utilizzare i tasti Tab e Shift-Tab per spostarsi avanti e indietro tra la condizione, le dichiarazioni e fine del blocco if.
Altri suggerimenti
Non sicuro circa i plugin (io non li uso, ma in vim regolare):
<Esc>
/fi$
o
Il simbolo $ potrebbe essere superflua la maggior parte del tempo.
Basta premere il C-o o
Vorrei premere Esc o per avviare la modalità di inserimento nella riga successiva. Ma forse si potrebbe riconfigurare snipmate in modo che è possibile premere un altro tasto al posto di scheda per terminare il frammento di?
Se non hai mappato esso, il giù , freccia dovrebbe anche spostare il cursore alla riga successiva.