私は最近、自分の多くをカスタマイズしており、私に与える.vimrc
パワーと利便性が大好きです. :mksession
私は現在、.vimrc
セッションを自動ロードするために次のものを持っています:
function! LoadSession()
if argc() == 0 && ! &diff
let g:sessiondir = $HOME . "/.vim/sessions" . getcwd()
let g:sessionfile = g:sessiondir . "/session.vim"
if (filereadable(g:sessionfile))
exe 'source ' g:sessionfile
else
echo "No session loaded." + argc() + argv()
endif
else
let g:sessionfile = ""
let g:sessiondir = ""
call ResCur()
endif
endfunction
次に、これを で呼び出しますau VimEnter * nested :call LoadSession()
。これは、vim が から読み取っている場合を除いて、ほとんどの場合にうまく機能しstdin
ます。その場合、セッションはまだロードされていますが、それが起こらないようにしたいと考えています。argc() == 0
条件は十分だと思っていたでしょうが、-
そのvimが0を返さないstdin
原因から読み取るために呼び出されているようです。うんち!argc()
;]
私はあらゆる種類のことを調べてargv(0)
(この場合は空です-なぜですか?)、vimが読み取っていることを識別する方法を見つけようとしましたstdin
(そうしているというメッセージが表示されますが、わかりませんそれを利用する方法)などがありますが、今のところ運がありません。
ここでひどく明白な何かが欠けていると確信していますが、Googleとvim:help
は私をどこにも連れて行きません。