繁体   English   中英

我不带参数启动vim时仅自动重载会话

[英]only auto-reload session when I start vim with no parameter

这是我的〜/ .vimrc文件的一部分:

autocmd VimEnter * : call ReadSession()
autocmd VimLeave * : call SaveSession()
function SaveSession()
    execute 'mksession! ' . getcwd() . '/.session.vim'
endfunction
function ReadSession()
    let session_file = getcwd() . "/.session.vim"
    if filereadable( session_file )
        execute "so " . session_file
        if bufexists(1)
            for l in range(1, bufnr('$'))
                if bufwinnr(l) == -1
                    exec 'sbuffer ' . l
                endif
            endfor
        endif
    endif
endfunction

因此,即使我不希望它重新加载会话
例如,我在曾经工作过的目录中称“ vim 1.cpp”(编辑2.cpp),然后它将首先显示2.cpp
我可以修改.vimrc以便如果我将参数传递给vim时,它将不会读取会话文件吗? 谢谢!

编辑:
我加了一行

if (argc() > 0)
    exec 'bfirst'
endif

但它仍然不起作用。

检查argc()确实是一种方法。 传递参数时,可以跳过ReadSession()的执行:

autocmd VimEnter * if argc() == 0 | call ReadSession() | endif

或将条件放入ReadSession()函数中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM