#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
будет моя первая попытка.