Мне нравится избегать autocmds, когда я могу использовать структуру каталогов after
.
$ mkdir -p ~/.vim/after/{ftplugin,syntax,indent}
$ echo 'setlocal iskeyword-=$' >> ~/.vim/after/ftplugin/php.vim
Это устанавливает базовый каталог after
в вашей пользовательской папке конфигурации vim.Принимая во внимание, что ~/.vim/ftplugin/$FILETYPE.vim
будет использоваться вместо стандартного файла vim $ FILETYPE.vim, файлы в каталоге after
будут выполняться после, что позволит вам переопределить или изменить поведение ваших ftplugins, определения синтаксиса и команды отступа.
В качестве дополнительного примера, чтобы показать вам, как они работают, я включу здесь часть моего локального after/syntax/python.vim
файла.Мне нравится, когда все «структурные знаки препинания» моего кода выделяются, когда я читаю его, поэтому я делаю это:
syn match pythonParen /[()]/
syn match pythonBrack /[][]/
syn match pythonCurly /[{}]/
hi def link pythonParen Paren
hi def link pythonBrack Brack
hi def link pythonCurly Curly
У меня также есть файл after/indent/php.vim
, который должен был исправить некоторые издосадные проблемы с отступами, с которыми я столкнулся при работе с отступами при переключении между <?php ?>
областями в файле шаблона, но код беспорядок и вообще никогда не работал, поэтому я не буду воспроизводить его здесь.Я упоминаю это только для того, чтобы дать вам пример того, что можно сделать с помощью вспомогательных хуков.