我在MacOS X Mavericks上使用以下〜/ .
vimrc和MacVim 7.4:
set guifont=Menlo:h14 set encoding=utf8 set mouse=a set expandtab set ts=8 set showcmd set nocompatible set backspace=2 set viminfo='20,\"50 set history=50 set ruler set si set hlsearch Syntax on set bg=light hi Cursor term=inverse ctermfg=black guifg=black guibg=green hi Visual term=inverse ctermfg=yellow ctermbg=black guifg=yellow guibg=black hi Comment term=inverse ctermfg=grey ctermbg=black guifg=white guibg=black hi Identifier term=NONE ctermfg=black guifg=black hi Constant term=underline ctermfg=darkred guifg=red hi Statement term=bold ctermfg=blue guifg=blue hi PreProc term=NONE ctermfg=black guifg=black gui=underline hi Special term=NONE ctermfg=black guifg=black hi Type term=bold ctermfg=blue guifg=blue
并且可以看到编辑器从该文件中获取所有设置(字体系列及其大小,显示标尺和选项卡设置,……),但不是颜色:
只有在我发出命令之后:所以〜/ .vimrc也会采用我的颜色设置(红色和蓝色带反转注释):
有谁请知道,发生了什么,为什么MacVim也没有拿起语法颜色?
以下是:版本信息:
VIM - Vi IMproved 7.4 (2013 Aug 10,compiled Aug 10 2013 18:40:52) MacOS X (unix) version Compiled by Douglas Drumond <douglas@eee19.com> Huge version with MacVim GUI. Features included (+) or not (-): +arabic +emacs_tags +localmap +postscript +textobjects +autocmd +eval -lua +printer +title +balloon_eval +ex_extra +menu +profile +toolbar +browse +extra_search +mksession +python +transparency ++builtin_terms +farsi +modify_fname -python3 +user_commands +byte_offset +file_in_path +mouse +quickfix +vertsplit +cindent +find_in_path +mouseshape +reltime +virtualedit +clientserver +float +mouse_dec +rightleft +visual +clipboard +folding -mouse_gpm +ruby +visualextra +cmdline_compl -footer -mouse_jsbterm +scrollbind +viminfo +cmdline_hist +fork() +mouse_netterm +signs +vreplace +cmdline_info +fullscreen +mouse_sgr +smartindent +wildignore +comments -gettext -mouse_sysmouse -sniff +wildmenu +conceal -hangul_input +mouse_urxvt +startuptime +windows +cryptv +iconv +mouse_xterm +statusline +writebackup +cscope +insert_expand +multi_byte -sun_workshop -X11 +cursorbind +jumplist +multi_lang +Syntax -xfontset +cursorshape +keymap -mzscheme +tag_binary +xim +dialog_con_gui +langmap +netbeans_intg +tag_old_static -xsmp +diff +libcall +odbeditor -tag_any_white -xterm_clipboard +digraphs +linebreak +path_extra -tcl -xterm_save +dnd +lispindent +perl +terminfo -ebcdic +listcmds +persistent_undo +termresponse system vimrc file: "$VIM/vimrc" user vimrc file: "$HOME/.vimrc" 2nd user vimrc file: "~/.vim/vimrc" user exrc file: "$HOME/.exrc" system gvimrc file: "$VIM/gvimrc" user gvimrc file: "$HOME/.gvimrc" 2nd user gvimrc file: "~/.vim/gvimrc" system menu file: "$VIMRUNTIME/menu.vim" fall-back for $VIM: "/Applications/MacVim.app/Contents/Resources/vim" Compilation: clang -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MACVIM -Wall -Wno-unknown-p ragmas -pipe -DMACOS_X_UNIX -no-cpp-precomp -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE =1 Linking: clang -L. -L. -L/usr/local/lib -o Vim -framework Cocoa -framework Carb on -lncurses -liconv -framework Cocoa -fstack-protector -L/usr/local/lib -L/Sy stem/Library/Perl/5.12/darwin-thread-multi-2level/CORE -lperl -lm -lutil -lc -framework Python -framework Ruby
MacVim在你的〜/ .vimrc之后输出它的默认gvimrc.它包含以下代码段:
" Load the MacVim color scheme. This can be disabled by loading another color " scheme with the :colorscheme command,or by adding the line " let macvim_skip_colorscheme=1 " to ~/.vimrc. if !exists("macvim_skip_colorscheme") && !exists("colors_name") colorscheme macvim endif
发生的事情很简单:当您启动Vim时,MacVim的默认colorscheme会覆盖您的:hi命令,而当您使用〜/ .vimrc时,您的:hi命令会覆盖默认的colorscheme.
修复也很简单:根据Ingo的回答,将你的:hi命令转换为真正的colorscheme.
此外,设置background = light仅在colorscheme中有用,因此也可以移动该行.