Ho pensato a quell'edificio automatico <img>
dal passaggio.
Vim ha una soluzione integrata per una parte del problema: il motore di omni-completamento consente di completare il percorso di un file che si desidera includere.
Se si inizia a digitare una stringa "simile a un percorso" - ad esempio <img src="images/
- premere <C-x><C-f>
per un piccolo elenco di possibili completamenti. Accoppiato con un plug-in di completamento automatico come ACP e snipMate, il processo è molto veloce.
Ma non aiuta affatto per width
e height
.
Una possibile soluzione potrebbe essere quella di utilizzare per la snipMate <img>
frammento, utilizzare <C-x><C-f>
per il percorso dell'immagine, catturare il percorso e mangimi per qualche linea di comando, riempire le width
e height
attributi con la sua uscita.
EDIT
Si scopre altri hanno già esplorato una strada simile, this script è interessante ma non funziona correttamente con i percorsi dei file contenenti spazi. Here is a slightly modified version che funziona abbastanza bene. This other one sembra essere molto bello ma manca un pezzo cruciale.
FINE EDIT
ALTRO EDIT
ho aggiunto questo frammento di ~/.vim/bundle/snipMate/snippets/html.snippets
(attenzione il trattino prima $
è un <Tab>
):
snippet img custom
${1:`HTML_insertImg()`}
che funziona bene ma antepone l'uscita del HTML_insertImg()
con un 0
come questo:
0<img src="future_timeline.png" width="612" height="6370" alt="" />
Questo 0
è un po 'un problema però. Il sistema non è ovviamente perfetto ma una volta che mi libererò di questo fastidioso 0
si adatterà piuttosto bene nel resto del mio processo basato sul snipMate.
A proposito, here is a second modified version dello script che utilizzo.
FINE UN ALTRO EDIT
estende per 12" RE-EDIT VERSION
Con:
è possibile:
- aperta NERDTree, selezionare un'immagine e premere
b
di avere una quasi completa <img src="imagename.jpg" width="128" height="256" alt="" />
etichetta incollata alla posizione del cursore nella finestra precedente
- o, se il sapore Vim lo permette, digitare
:IMG<CR>
per aprire una finestra di selezione file nativa, scegliere un'immagine e avere un tag <img src="imagename.jpg" width="128" height="256" alt="" />
quasi completo incollato nella posizione corrente nella finestra corrente
- oppure, se si è in un terminale, digitare per avere unoquasi completo Tagincollato nella posizione corrente nella finestra corrente
La soluzione snipMate non è realmente pronta al momento.
Grazie a Petr Mach e allo @Matteo Riva per la maggior parte del lavoro.
E sì, ovviamente non sono un esperto di Vim.
estremità estesa 12" RE-EDIT VERSION
correlati: http://stackoverflow.com/questions/1693389/vim-browser-plugin-to-execute-commands-on-files/1696072#1696072 –