Я редагую багато PHP-коду з Vim, і я наткнувся на корч з деякими макросами у своєму .vimrc
.
Зараз я використовую ці два макроси для коментарів / коментарів у стилі С
"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
І це двоє для коментарів / коментарів у стилі 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
Ці макроси прекрасно працюють, коли застосовуються до призначеного типу файлу, але оскільки у файлі PHP часто вбудований HTML, стиль коментування PHP марний.
Чи є спосіб Vim виявити, чи працює він на фрагменті HTML-коду всередині файлу PHP, а потім застосувати правильну поведінку коментування?
Редагувати: Я знаю, що я можу вручну встановити тип файлу, і що для цього є плагіни, я хотів дізнатися більше про написання кращих макросів.