Как вручную загрузить ftplugin после запуска Vim?

StackOverflow https://stackoverflow.com/questions/1970544

  •  21-09-2019
  •  | 
  •  

Вопрос

Допустим, я загружаю файл .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

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

  1. :filetype

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

  2. :scriptnames

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

  3. проверьте, есть ли каталог 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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top