我在vimrc文件中配置了以下语句:
autocmd VimLeave * mksession! ./vimsession
有没有办法让vim声明为vim -S vimsession?所以当我进入vi时,它在后台执行vi -S vimsession?
答案 0 :(得分:3)
要自动恢复持久会话,请将其放入~/.vimrc
:
if filereadable('./vimsession')
source ./vimsession
endif
最好在所有插件加载之前将其延迟:
if filereadable('./vimsession')
autocmd VimEnter * source ./vimsession
endif
答案 1 :(得分:0)
我不确定我理解你的问题。听起来你想区分Vim是否有会话开始。
如果您加载/保存会话,v:this_session
将保留会话文件的路径。
:help v:this_session
因此,如果我正确地理解了您的问题,您需要以下内容:
autocmd VimLeave *
\ if exists('v:this_session') && filewritable(v:this_session) |
\ execute 'mksession!' fnameescape(v:this_session) |
\ endif
关闭Vim时,会检查是否有正在运行的会话并在退出前更新它。