我在 ubuntu 上安装了 vim-gnome。我注意到我放入 $HOME/.vimrc 文件中的内容(如 colorscheme 等)被其他内容覆盖。如果我启动 Vim,则会使用另一种 colorscheme,但如果我随后执行“:source ~/.vimrc”,我想要的设置就会正确加载。
这是我的.vimrc:
set t_Co=256
set paste
set number
syntax on
colorscheme zenburn
当我执行:scriptnames时,我看到似乎有很多东西在启动时运行(它也需要几秒钟...):
1: /usr/share/vim/vimrc
2: /usr/share/vim/vim72/debian.vim
3: /usr/share/vim/vim72/syntax/syntax.vim
4: /usr/share/vim/vim72/syntax/synload.vim
5: /usr/share/vim/vim72/syntax/syncolor.vim
6: /usr/share/vim/vim72/filetype.vim
7: /etc/vim/vimrc.local
8: /home/tom/.vim/colors/zenburn.vim
9: /home/tom/.vimrc
10: /usr/share/vim/vim72/syntax/nosyntax.vim
11: /home/tom/.vim/plugin/CSApprox.vim
12: /home/tom/.vim/plugin/Light.vim
13: /home/tom/.vim/plugin/codeburn.vim
14: /home/tom/.vim/colors/Light.vim
15: /home/tom/.vim/autoload/csapprox.vim
16: /home/tom/.vim/plugin/coffee.vim
17: /home/tom/.vim/plugin/color_sample_pack.vim
18: /home/tom/.vim/plugin/ir_black.vim
19: /home/tom/.vim/colors/coffee.vim
20: /usr/share/vim/vim72/plugin/getscriptPlugin.vim
21: /usr/share/vim/vim72/plugin/gzip.vim
22: /usr/share/vim/vim72/plugin/matchparen.vim
23: /usr/share/vim/vim72/plugin/netrwPlugin.vim
24: /usr/share/vim/vim72/plugin/rrhelper.vim
25: /usr/share/vim/vim72/plugin/spellfile.vim
26: /usr/share/vim/vim72/plugin/tarPlugin.vim
27: /usr/share/vim/vim72/plugin/tohtml.vim
28: /usr/share/vim/vim72/plugin/vimballPlugin.vim
29: /usr/share/vim/vim72/plugin/zipPlugin.vim
我猜其中一些会覆盖从 .vimrc 加载的内容。(CSApprox 是我在 .vim/plugins 中的一个,但其他大多数我还没有“选择”在启动时运行。
我怎样才能改变这一点,以便 .vimrc 中的内容能够覆盖其他内容?(或者,我怎样才能阻止在启动时运行这么多东西?)
答案1
看起来输出的这一部分scriptnames
是相关的:
12: /home/tom/.vim/plugin/Light.vim
13: /home/tom/.vim/plugin/codeburn.vim
14: /home/tom/.vim/colors/Light.vim
15: /home/tom/.vim/autoload/csapprox.vim
16: /home/tom/.vim/plugin/coffee.vim
17: /home/tom/.vim/plugin/color_sample_pack.vim
18: /home/tom/.vim/plugin/ir_black.vim
19: /home/tom/.vim/colors/coffee.vim
看起来您的插件目录中有一些配色方案(Light.vim、codeburn.vim 等)。尝试将它们移动到临时位置,看看是否有帮助。
答案2
标准 VIM 文件中设置 t_Co 的唯一位置是 /usr/share/vim/vim72/debian.vim,并且在我的 .vimrc 中设置 t_Co 可以正常工作。
我注意到您的 ~/.vim 文件夹中列出了许多在您的 .vimrc 之后运行的文件 - 我怀疑其中一个文件中设置了 t_Co。
$ grep -r 'set t_Co' .vim/*
应该告诉您哪个文件覆盖了您的设置。