我的 _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
选项名称?
“(带问号)。如果用户没有从 :-命令行手动设置该选项,则应该在选项的当前值下方有一个“上次设置自...”行。不幸的是,这不适用于非选项,尽管它可以用于其他调试。请参阅“ :help :verbose
”。
答案3
您可以使用变量 $MYVIMRC 查看首先找到并使用哪个 vim 初始化文件。只需在 vim 会话中的命令(冒号)提示符下回显它即可
:echo $MYVIMRC