У меня была такая же проблема;если я сохранял сеансы без 'параметров' в параметрах сеанса, когда я перезагружал Vim, буферы перезагружались, но без подсветки синтаксиса.
Решение состоит в том, чтобы при загрузке использовать autocmd с вложенным вложением.
В Викии есть обширная статья о загрузке и сохранении сессий .Опция 'nested' упоминается внизу.
Я использую модифицированную версию этот ответ StackOverflow , вот он:
fu! SaveSess()
execute 'mksession! ' . getcwd() . '/.session.vim'
endfunction
fu! RestoreSess()
if filereadable(getcwd() . '/.session.vim')
execute 'so ' . getcwd() . '/.session.vim'
if bufexists(1)
for l in range(1, bufnr('$'))
if bufwinnr(l) == -1
exec 'sbuffer ' . l
endif
endfor
endif
endif
endfunction
autocmd VimLeave * call SaveSess()
autocmd VimEnter * nested call RestoreSess()
set sessionoptions-=options " Don't save options