我的 _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
Run Code Online (Sandbox Code Playgroud)
但是我相信它正在使用如下所示的设置:
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
Run Code Online (Sandbox Code Playgroud)
问题在于:
A) 我喜欢我的配色方案,多亏了你的帮助。
B) 我不想使用 mswin 配置。它让我感到困惑,尤其是 ctrl-z 和 ctrl-v 做我不喜欢的事情。我更喜欢让 ctrl-v 进入视觉模式,这很有意义。
C) 我想为 vim 设置一个临时目录和备份。(说实话,我不确定我是否正确地做这部分。
在 VIM 中,键入:version,这至少会显示 *vimrc 文件的加载顺序。
至于 c),这个set directory位决定了 VIM 把它的交换文件放在哪里。要指定实际备份的位置,请使用:set backupdir