Как вручную загрузить ftplugin после запуска Vim?
Вопрос
Допустим, я загружаю файл .txt в Vim.Тогда я хочу изменить filetype=html
но я также хочу загрузить связанный ftplugin.Как я могу это сделать?
Я пробовал такие вещи, как: :set filetype plugin on
и :set filtype plugin_name
и еще :filetype plugin_name
и т. д. и т. п., но я не могу вручную загрузить ftplugin.Какие-либо предложения?
я пробовал :filetype=html
а потом :filetype plugin on
и другие комбинации безрезультатно.
РЕДАКТИРОВАТЬ:Мне не удалось «полностью» решить эту проблему ни с одним из ответов (но, возможно, это что-то индивидуальное для моей конфигурации).Однако ответы Пьера были чертовски хороши, поэтому я ставлю ему зеленую галочку.
Решение
Я совершенно уверен, что когда вы переключаете тип файла, используя :set ft=X
он автоматически загрузит соответствующий плагин в вашу папку .vim/ftplugin.Например. :set ft=html
загрузит .vim/ftplugin/html.vim, куда вы загрузите все связанные плагины.Однако BufEnter
и BufNew
Загрузка плагинов, связанная с html-файлами, не будет загружаться, поскольку установка нового типа файла не запускает эти события.Итак, если в вашем .vimrc есть плагины, специфичные для HTML, которые загружаются с помощью BufNew
или BufEnter
вместо этого вы можете поместить их в файл .vim/ftpluging/html.vim.
Вы всегда можете добавить в текстовый файл модельную строку, которая изменит тип файла.Например. <!-- vim: ft=html -->
.
Другие советы
:filetype on
:set filetype=html
Была такая же ситуация, когда ftplugins не загружались, хотя у меня был открыт файл Perl.Оказывается, моя копия Vim (из Git for Windows
) не пришел с ftplugin.vim
и ftplugof.vim
Вот как я пришел к этому осознанию:
:filetype
- убедитесь, что плагин типа файла действительно включен.
- убедитесь, что плагин типа файла действительно включен.
:scriptnames
- распечатать список исходных скриптов, не обнаружил ни одного скрипта из
ftplugin\
является источником. - Тогда я этого не осознавал, но должен был заметить, что не вижу
ftplugin.vim
там.
- распечатать список исходных скриптов, не обнаружил ни одного скрипта из
проверьте, есть ли каталог Vim (
{git-path}/share/vim/vim{version}/
) имеетftplugin.vim
иftplugof.vim
- эти файлы создаются при выполнении
:filetype plugin on
и:filetype plugin off
- эти файлы создаются при выполнении
Чтобы это исправить, я взял недостающие файлы из Файлы времени выполнения Vim и скопировал туда, куда он должен идти.
Vim автоматически загружает правильный плагин при изменении типа файла.
:set ft=python
Вы можете запустить vim в подробном режиме:
vim -V
Это покажет вам, что выполняет vim.Если вы откроете файл и вручную зададите тип файла, vim покажет, загружается ли правильный плагин.
:f something.html
:w
:e