Как вручную загрузить 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

Вот как я пришел к такому осознанию:

  • :filetype

    • убедитесь, что плагин filetype действительно включен.

  • :scriptnames

    • распечатайте список источников сценариев, обнаруженных без script из ftplugin\.
    • Я не понимал этого в то время, но я должен был заметить, что я не видел там ftplugin.vim.

  • проверьте, имеет ли каталог Vim ({git-path}/share/vim/vim{version}/) ftplugin.vim и ftplugof.vim

    • эти файлы будут получены при выполнении :filetype plugin on и :filetype plugin off

Чтобы исправить это, я захватил отсутствующие файлы из Vim runtime files и скопировал туда, куда он должен идти.

Ответ 4

Vim автоматически загружает правильный плагин при изменении типа файла

:set ft=python

Вы можете запустить vim в подробном режиме:

vim -V

Это покажет вам, что делает vim. Если вы откроете файл и вручную установите тип файла, vim покажет, загружает ли он правильный плагин.

Ответ 5

:f something.html
:w
:e