Я знаю, как настроить функции, используя :autocmd
для конкретных расширений файлов:
Например. ~/.Vim /ftplugin /xml.vim
augroup xml
au BufEnter *.xml call Setup_XML_Menu()
au BufLeave *.xml call Destroy_XML_Menu()
augroup END
Не берите в голову то, что Setup_XML_Menu()
делает - дело в том, что я устанавливаю и сбрасываю конфигурацию, когда я вхожу или покидаю буфер XML.
Но есть ли способ применить автокоманду для определенного типа файла ?
Если я введу буфер с именем * .xml, BufEnter autocmd включится, как я и ожидал.
Но я бы хотел, чтобы это происходило, когда я вхожу в любой буфер с filetype=xml
Поэтому, если я введу буфер с именем server.wsdl (предположим, я уже организовал, чтобы тип файла этого буфера был xml), я бы хотел, чтобы там также применялся autocmd XML без настройки автокоманд для каждого возможного расширения файла XML.
Я надеялся, что смогу получить что-то вроде:
au BufEnter xml call ...
или же
au BufEnter filetype xml call ...
Но они не работают (первый пример относится только к буферу с именем «xml»).
Другая возможность, которую я рассмотрел: au FileType xml ...
применяется только тогда, когда я явно изменяю тип файла буфера - я хочу, чтобы настройки применялись и удалялись, когда я включался и выходил из определенных окон буфера.
Я слишком много спрашиваю?