Я использую плагин проекта в Vim. Для каждого проекта, над которым я работаю, я создал собственный in.vim / out.vim, в котором настраиваются специфичные для проекта вещи.
Например, я установил значение смещения 2 в in.vim, тогда как в моем .vimrc я установил 4 . Когда я открываю файл из дерева проекта, все в порядке: sw - 2. Теперь я компилирую исходники (Visual Studio) и получаю некоторые ошибки / предупреждения компилятора. Переключитесь на Visual Studio, исправьте ошибки, затем вернитесь к Vim.
Мой редактор действительно понял, что я изменил файл за пределами редактора, и просит меня перезагрузить файл. После подтверждения перезагрузки sw устанавливается на 4 .
Очевидно, это потому, что .vimrc получает чтение при перезагрузке буфера и перезаписывает мои настройки shiftset, хранящиеся в файле конфигурации in.vim.
У меня вопрос: есть ли способ заставить плагин проекта (или сам vim) загрузить in.vim при обновлении буфера?
Решение
Ответ ZyX указал мне на обработку, которая работает для меня:
В in.vim задайте глобальную переменную для пути in.vim:
let g:invimpath = "D:/project/vimstuff/in.vim"
В .vimrc попробуйте загрузить указанный файл, когда FileChangedShellPost
происходит:
autocmd FileChangedShellPost * if exists("g:invimpath") | exe 'source ' . g:invimpath | endif
Кредиты отправляются в ZyX, чтобы указать мне этот путь.