Modifico molto codice PHP con Vim e mi sono imbattuto in alcuni problemi con il mio .vimrc
.
Attualmente uso queste due macro per commentare / decommentare in stile C.
"c-style (//) comment (press the [.] key)
au FileType php vnoremap . :s/^\(\s*\)\(.\+\)$/\1\/\/\2/<CR>:noh<CR>gv
"c-style (//) uncomment (press the [,] key)
au FileType php vnoremap , :s/^\(\s*\)\/\//\1/<CR>:noh<CR>gv
E questi due commentano / commentano in stile HTML
"html-style (<!-- -->) comment (press the [.] key)
au FileType html vnoremap . :s/^\(\s*\)\(.\+\)$/\1<!-- \2 -->/g<CR>:noh<CR>gv
"html-style (<!-- -->) uncomment (press the [,] key)
au FileType html vnoremap , :s/^\(\s*\)<!-- \(.*\) -->/\1\2/g<CR>:noh<CR>gv
Queste macro funzionano bene se applicate al tipo di file previsto, ma poiché spesso è incorporato HTML in un file PHP, lo stile di commento PHP è inutile.
Esiste un modo per Vim di rilevare se funziona su un pezzo di codice HTML all'interno di un file PHP e quindi applicare il comportamento corretto dei commenti?
Modifica: so che posso impostare manualmente il tipo di file e che ci sono plugin disponibili per questo, stavo cercando di saperne di più su come scrivere macro migliori.