Ответ 1
Наконец, я обойду эту проблему, используя плагин vim.
Что-то вроде улучшенной версии встроенной системы сеанса vim
Он называется vim-session
Когда я восстанавливаю сеанс, будет невозможно загрузить мой плагин filetype.
Например, у меня есть плагин filetype для файла arduino ~/.vim/ftplugin/arduino.vim, и содержимое похоже на это.
SyntasticToggleMode
call feedkeys("\<CR>")
nnoremap <leader>s :w<cr>:ArduinoVerify<cr>
nnoremap M :ArduinoUpload<cr>
Я создаю файл arduino с именем test.ino, чтобы сделать некоторую кодировку. Каждая вещь кажется довольно гладкой. Плагин filetype загружен правильно.
Затем я закрываю vim со следующими командами.
:mksession!
:wviminfo viminfo
:qa
Теперь есть файл сеанса с именем Session.vim. Затем я снова открываю vim, и он автоматически загружает сеанс, потому что у меня есть что-то подобное в моем .vimrc.
filetype indent plugin on
if filereadable("Session.vim")
source Session.vim
endif
if filereadable("viminfo")
rviminfo viminfo
endif
Теперь что-то пошло не так, отображение ключей в моем плагине filetype arduino не работает.
Также он печатает некоторое сообщение об ошибке, подобное этому.
Error detected while processing /home/lotp/.vim/ftplugin/arduino.vim:
line 1:
E492: Not an editor command: SyntasticToggleMode"sketch_dec06a.ino" "sketch_dec06a.ino" 12L, 150C
E492: Not an editor command: SyntasticToggleMode
В действительности SyntasticToggleMode
является действительной командой vim, принадлежащей плагину vim с именем syntastic.
Есть ли решение для решения этой проблемы? Под этим я имею в виду одновременное использование перформанса сеанса и файла типа.
Наконец, я обойду эту проблему, используя плагин vim.
Что-то вроде улучшенной версии встроенной системы сеанса vim
Он называется vim-session
Частичный ответ:
Плагины не загружаются непосредственно в .vimrc
, если вы используете диспетчер подключаемых модулей. Их пути просто добавляются к 'runtimepath'
, и они впоследствии получены в процессе инициализации.
Вы можете попробовать добавить (т.е. в .vimrc
) свой собственный путь к runtimepath
, ПОСЛЕ окончания инициализации плагина. (т.е. для Vundle, после этой строки: call vundle#end()
) Затем добавьте файл vim в your_custom_path/plugin
, где вы поместите свой код в исходный файл сеанса.
Я не проверял всю информацию, которую я дал, поэтому извините за ошибки, но надеюсь, что это даст вам некоторые идеи.
См. :h startup
, :h 'runtimepath'