「:so~/.vimrc」と入力するまで ~/.vimrc が効かないのはなぜですか?

「:so~/.vimrc」と入力するまで ~/.vimrc が効かないのはなぜですか?

タブのサイズを変更したいだけです。:scriptnames にファイルが表示され、vim を開くたびに実行される echo が含まれているため、ファイルが読み込まれていることはわかっています。vim の起動時に ~/.vimrc が自動的に動作しないのはなぜですか?

私は最新バージョンのUbuntuを実行しています。

~/.vimrcの内容:

map <C-t><up> :tabr<cr>

map <C-t><down> :tabl<cr>

map <C-t><left> :tabp<cr>

map <C-t><right> :tabn<cr>

set tabstop=4
set shiftwidth=4
echo "LOADED"

答え1

デフォルトでは、保存されたセッションにはすべてのグローバル構成値とマッピングも保存されます。そのため、~/.vimrcセッションをロードした後に変更を明示的にソースするか、セッションを再作成/編集する必要があります。

オプションを変更せず、マッピングをオンザフライで定義しない場合(~/.vimrcプラグインのみ経由)、保存したセッションにこれを含める必要はありません。これをオフにするには、次の操作を行います。

:set sessionoptions-=options

嬉しい副作用として、保存されるセッションのサイズが大幅に小さくなります。

関連情報