Почему Pathogen "волшебным образом" решает проблемы выделения синтаксиса Vim?
У меня есть эти 3 строки в моем .vimrc
,
" keeping pathogen only for its 'syntax on' bug workaround
Bundle "tpope/vim-pathogen"
execute pathogen#infect()
Должно быть, я удалил и снова добавил эти 3 строки примерно дюжину раз. Я пользуюсь последней версией Vim, но, по некоторым причинам, некоторая подсветка синтаксиса работает неправильно.
На MacOS, Go
Подсветка синтаксиса не работает, в то время как в Arch Linux это работает. Но на Арке, coffeescript
не выделено По какой-то причине, выполняя pathogen#infect()
решает все проблемы на обеих платформах.
Это похоже на черную магию для меня, поэтому мне интересно, почему это так. Есть ли лучший способ решить эту проблему?
Ответ: Я заглянул в свой vimrc и обнаружил ошибку. У меня была эта строка
filetype plugin indent on
before
Пучок, где он должен был быть after
Связки.
1 ответ
По умолчанию Vim не просматривает каталоги.vim/bundle при запуске. Так что это означает, что ваш "ftdetect" не будет загружен.
Pathogen просматривает каждый каталог и загружает их.
Если вы хотите убедиться сами, запустите Vim дважды, один раз с, а второй без pathogen:infect()
и введите :scriptnames
после загрузки. Вы увидите список загруженных скриптов.
Вы даже можете сделать :redir
записать вывод в файл перед вызовом :scriptnames
чтобы получить точную разницу загруженных скриптов.