為什麼 ~/.vimrc 直到我輸入 ":so~/.vimrc" 才生效?

為什麼 ~/.vimrc 直到我輸入 ":so~/.vimrc" 才生效?

我只想更改選項卡大小。我知道該文件正在加載,因為它顯示在 :scriptnames 中,我包含了一個每次打開 vim 時都會運行的 echo。為什麼 ~/.vimrc 在 vi​​m 啟動時不自動執行?

我正在運行最新版本的 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

一個很好的副作用是,您儲存的會話的大小將變得更小。

相關內容