Примечание.
Обратите внимание, что эта проблема также может возникать, если у вас есть filetype indent on
и plugin on
в отдельных строках .vimrc :
filetype indent on
filetype plugin on
Это приводит к обработке $VIMRUNTIME/indent/php.vim
до $VIMRUNTIME/ftplugin/php.vim
.
Файл indent/php.vim
сбрасывается 'comments'
, а ftplugin/php.vim
- нет.
Порядок беспорядка:
indent/php.vim
получить и comments
правильно установить:
setlocal comments=s1:/*,mb:*,ex:*/,://,:#
Тогда ftplugin/php.vim
получит источник. Снова источники ftplugin/html.vim
по:
runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim
, что приводит к обработке ftplugin/html.vim
и установке:
setlocal commentstring=<!--%s-->
setlocal comments=s:<!--,m:\ \ \ \ ,e:-->
Позже в ftplugin/php.vim
commentstring
- это сброс , но не comments
:
setlocal commentstring=/*%s*/
Fix:
filetype indent plugin on
" Or
filetype plugin indent on
" Or with correct order:
filetype plugin on
filetype indent on
PS.
В любом случае плагин должен быть обработан перед отступом.
Для проверки порядка включения / обработки взгляните на :scriptnames
.