vim可以用参数启动吗?

时间:2013-08-13 07:53:22

标签: vim

我在vimrc文件中配置了以下语句:

autocmd VimLeave * mksession! ./vimsession

有没有办法让vim声明为vim -S vimsession?所以当我进入vi时,它在后台执行vi -S vimsession?

2 个答案:

答案 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时,会检查是否有正在运行的会话并在退出前更新它。