Ich bearbeite viel PHP-Code mit Vim und bin auf einen Haken mit einigen Makros gestoßen .vimrc
.
Ich benutze derzeit diese beiden Makros, um im C-Stil zu kommentieren / zu kommentieren
"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
Und diese beiden im HTML-Stil zu kommentieren / zu kommentieren
"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
Diese Makros funktionieren einwandfrei, wenn sie auf den beabsichtigten Dateityp angewendet werden. Da jedoch häufig HTML in eine PHP-Datei eingebettet ist, ist der PHP-Kommentarstil nutzlos.
Gibt es eine Möglichkeit für Vim, zu erkennen, ob ein Teil des HTML-Codes in einer PHP-Datei bearbeitet wird, und dann das richtige Kommentierungsverhalten anzuwenden?
Bearbeiten: Ich weiß, dass ich den Dateityp manuell einstellen kann und dass dafür Plugins verfügbar sind. Ich wollte mehr über das Schreiben besserer Makros erfahren.