dev*_*van 15 vim syntax-highlighting
因为每次分割和加载每个窗口都有点麻烦,我使用以下方法保存了我的会话:
mksession ~/session1.vim
Run Code Online (Sandbox Code Playgroud)
并使用以下方法恢复它
vim -S session1.vim
Run Code Online (Sandbox Code Playgroud)
要么
source session1.vim
Run Code Online (Sandbox Code Playgroud)
它完美地恢复了上一个会话,但根本没有显示任何语法突出显示.
我在这里发现了一个类似的问题:终端会话恢复后没有语法突出显示, 但没有多大帮助.
有谁有想法吗?
tit*_*usd 23
我有同样的问题; 如果我在sessionoptions中保存没有'options'的会话,当我重新加载Vim时,缓冲区被重新加载,但没有语法高亮.
解决方案是在重新加载时使用嵌套的autocmd.
Wikia有一篇关于加载和保存会话的文章.底部提到了'嵌套'选项.
我使用了这个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
Run Code Online (Sandbox Code Playgroud)