Qual è la strategia migliore per pezzi di codice e macro in vim?
Domanda
Come posso sviluppare con vigore, mi trovo a voler copiare in blocchi di codice utile, simile a "modelli" in Eclipse.
Stavo pensando di creare un file separato per ogni codice di blocco e solo la lettura con
:r code-fornext
ma che sembra solo tipo di primitiva.Googling intorno trovo vim macro detto qualcosa a proposito di "mappe", ma niente di che, sembra semplice.
Quello che sto cercando sono, per esempio,qualcosa come Eclipse "Modelli", così mi è comparsa in un pezzo di codice con il cursore seduto nel mezzo di esso.O JEdit è "Macro" che sono in grado di registrare facendo complicata di eliminazione e ridenominazione di una linea, quindi posso giocare di nuovo su 10 altre linee in modo da fa lo stesso con loro.
Fa vim ha nulla di simile a queste due funzioni?
Soluzione
Per registrare le macro in Vim, la modalità di comando, ha colpito il q
tasto e un altro, si desidera assegnare la macro.Per una rapida buttare via le macro io di solito appena colpito qq
e assegnare la macro per il q
chiave.Una volta che siete in modalità di registrazione, eseguire attraverso il vostro tasto di colpi.Quando hai finito di assicurarsi che siete di nuovo in modalità di comando e premete q
di nuovo per interrompere la registrazione.Quindi per riprodurre le macro manualmente, è possibile digitare @q
.Per la riproduzione in precedenza eseguire la macro è possibile digitare @@
o per l'esecuzione di 10 volte, è possibile digitare 10@q
o 20@q
, ecc..
In sintesi:
+----------------------------------+-------------------------------------+
| start recording a macro | qX (X = key to assign macro to) |
+----------------------------------+-------------------------------------+
| stop recording a macro | q |
+----------------------------------+-------------------------------------+
| playback macro | @X (X = key macro was assigned to) |
+----------------------------------+-------------------------------------+
| replay previously played macro | @@ |
+----------------------------------+-------------------------------------+
In quanto a pezzi di codice, ho scoperto e iniziato ad usare Vim plug-in chiamato snipMate, che imita TextMate gli snippet di funzionalità.È possibile scaricare il plug-in qui:
http://www.vim.org/scripts/script.php?script_id=2540
E un breve articolo sull'uso di snipMate (insieme con un breve screencast che mostra in uso):
http://www.catonmat.net/blog/vim-plugins-snipmate-vim/
Spero che troverete questo utile!
Altri suggerimenti
In vim.wikia, troverete un categoria di consigli dedicato a frammenti e abbreviazioni di espansione.Si vedrà anche un elenco di plugin che facilità la definizione del complesso di frammenti/modelli-files.
HTH,