Как вручную загрузить ftplugin после запуска в Vim?
Скажем, я загружаю .txt файл в Vim. Затем я хочу изменить filetype=html
, но также хочу, чтобы связанный ftplugin загружался. Как я могу это сделать?
Я пробовал такие вещи, как: :set filetype plugin on
и :set filtype plugin_name
on, а также :filetype plugin_name
и т.д. и т.д., но я не могу вручную загрузить ftplugin. Какие-либо предложения?
Я пробовал :filetype=html
, а затем :filetype plugin on
и другие комбинации безрезультатно.
EDIT: я не смог "полностью" решить это с помощью любого из ответов (но это может быть что-то индивидуальное для моей конфигурации). Тем не менее, ответы Пьера были довольно хороши, поэтому я даю ему зеленый галочку.
Ответы
Ответ 1
Я уверен, что при переключении типа файла с помощью :set ft=X
он автоматически загрузит связанный с ним плагин в вашей папке .vim/ftplugin. Например. :set ft=html
будет загружать .vim/ftplugin/html.vim, где вы будете загружать любые связанные с ним плагины. Однако BufEnter
и BufNew
загрузки плагинов, связанных с html файлами, не будут загружаться, так как установка нового типа файлов не вызывает эти события. Поэтому, если у вас есть html-специфические плагины в вашем .vimrc, которые загружаются с помощью BufNew
или BufEnter
, вы можете поместить их в файл .vim/ftpluging/html.vim.
Вы всегда можете добавить модель к текстовому файлу, который изменит тип файла. Например. <!-- vim: ft=html -->
.
Ответ 2
:filetype on
:set filetype=html
Ответ 3
Просто была такая же ситуация, когда ftplugins не загружались, хотя у меня был файл Perl. Оказывается, что моя копия Vim (от Git for Windows
) не появилась с ftplugin.vim
и ftplugof.vim
Вот как я пришел к такому осознанию:
Чтобы исправить это, я захватил отсутствующие файлы из Vim runtime files и скопировал туда, куда он должен идти.
Ответ 4
Vim автоматически загружает правильный плагин при изменении типа файла
:set ft=python
Вы можете запустить vim в подробном режиме:
vim -V
Это покажет вам, что делает vim. Если вы откроете файл и вручную установите тип файла, vim покажет, загружает ли он правильный плагин.
Ответ 5
:f something.html
:w
:e