簡體   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