我的 _vimrc 看起來像這樣
set nocompatible
source $VIMRUNTIME/vimrc_example.vim
colorscheme pablo
set backup=~/vimfiles/backup
set directory=~/vimfiles/tmp
set diffexpr=MyDiff()
function MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
let eq = ''
if $VIMRUNTIME =~ ' '
if &sh =~ '\ ' . arg3 . eq
endfunction
不過我相信它使用的設定如下:
set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin
set diffexpr=MyDiff()
function MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
let eq = ''
if $VIMRUNTIME =~ ' '
if &sh =~ '\ ' . arg3 . eq
endfunctio
這樣做的問題是:
A)我喜歡我的配色方案,多虧了你的幫助。
B) 我不想使用 mswin 設定。它讓我很困惑,尤其是 ctrl-z 和 ctrl-v 做我不喜歡的事情。我比較喜歡讓 ctrl-v 進入視覺模式,這樣才有意義。
C) 我想要為 vim 設定一個臨時目錄和備份。 (說實話,我不確定我是否正確地完成了這部分。
答案1
在 VIM 中,輸入:version
,這至少會顯示 *vimrc 檔案的載入順序。
對於 c),該set directory
位元決定 VIM 將其交換文件放置在何處。若要指定實際備份的位置,請使用:set backupdir
答案2
當您需要找出 Vim 中設定或未設定某些內容的原因時,您可能會發現了解 Vim 的一些常規故障排除方法很有用。
你可以在啟動 Vim 後執行命令「:scriptnames
」來查看實際載入了哪些腳本。你的 vimrc 應該靠近頂部(我的是#1)。
確定設定選項的另一種方法是“:verbose set
選項名?
「(帶有問號)。如果該選項不是由使用者從 :-命令列手動設定的,則該選項的當前值下方應該有一個「Last set from...」行。不幸的是,不適用於非選項,儘管它可用於其他調試:help :verbose
。
答案3
您可以使用變數 $MYVIMRC 來查看首先找到並使用哪個 vim 初始化檔案。只需在 vim 會話中的命令(冒號)提示符號處回顯即可
:迴聲 $MYVIMRC