Загружает ли Vim автоматически плагины, зависящие от типа файла, для пользовательских типов файлов?

#vim #plugins #file-type

#vim #Плагины #тип файла

Вопрос:

Я понимаю, что рекомендуемый метод определения поведения, зависящего от типа файла, в Vim — это .vim files и filetype plugin option . Например, чтобы добавить настройки для .html файлов, я бы добавил filetype plugin on в my .vimrc и добавил настройки в ~/.vim/ftplugin/html.vim .

Однако все примеры этого метода, которые я могу найти, касаются популярных существующих типов файлов, таких как .html или .sql . Будет ли то же самое исправление работать для пользовательских типов файлов? Допустим, я хочу использовать новый тип файла с расширением .newft . Если я создам ~/.vim/ftplugin/newft.vim с настройками для этого нового типа и загрузки somefile.newft , будет ли Vim автоматически определять его тип и загрузку newft.vim ?

Я спрашиваю об этом, потому что это именно то, что я делаю, и пока это не работает. Я хотел бы знать, является ли это ошибкой или ожидаемым поведением Vim.

Ответ №1:

:h new-filetype описываются различные способы добавления поддержки для нового типа файла.

Я рекомендую метод A , который так же прост, как написать следующее в ~/.vim/ftdetect/newft.vim :

 autocmd BufRead,BufNewFile  *.newft  set filetype=newft
  

и позволяет Vim справиться с остальным.

Предполагая, что у вас есть filetype plugin on ~/.vimrc , приведенный выше пример заставит Vim пытаться использовать исходный ~/.vim/ftplugin/newft.vim код каждый раз, когда вы читаете или создаете буфер, связанный с *.newft файлом, или делаете :setfiletype newft / :set filetype=newft в существующем буфере.

Комментарии:

1. Что, если мы хотим, чтобы новый newft расширял конфигурацию предыдущего определенного типа файла. Как загрузить настройки по умолчанию, то есть предыдущие настройки типа файла?

2. runtime ftplugin/previousft.vim в верхней части ftplugin/newft.vim будет моя первая попытка.