由于 neocomplcache-6.1 只支持 Vim7.0 以上,所以不得不把 SUSE 中自带的 Vim6.4 卸了重装
卸载 Vim6.4:
rpm -e vim
安装 Vim7.3:
下载源码编译安装,直接安装到 /usr 目录下即可
./configure --prefix=/usr
make && make install
安装好后查看版本: vim --version
hadooper@linux-SUSE-5550:~/Test> vim --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Nov 21 2011 09:12:40)
编译者 hadooper@linux-SUSE-5550
正常版本 无图形界面。 可使用(+)与不可使用(-)的功能:
-arabic +autocmd -balloon_eval -browse +builtin_terms +byte_offset +cindent
-clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
-conceal +cryptv -cscope +cursorbind +cursorshape +dialog_con +diff +digraphs
-dnd -ebcdic -emacs_tags +eval +ex_extra +extra_search -farsi +file_in_path
+find_in_path +float +folding -footer +fork() +gettext -hangul_input -iconv
+insert_expand +jumplist -keymap -langmap +libcall +linebreak +lispindent
+listcmds +localmap -lua +menu +mksession +modify_fname +mouse -mouseshape
-mouse_dec +mouse_gpm -mouse_jsbterm -mouse_netterm -mouse_sysmouse
+mouse_xterm -multi_byte +multi_lang -mzscheme +netbeans_intg -osfiletype
+path_extra -perl +persistent_undo +postscript +printer -profile -python
-python3 +quickfix +reltime -rightleft -ruby +scrollbind +signs +smartindent
-sniff +startuptime +statusline -sun_workshop +syntax +tag_binary
+tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects +title
-toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo
+vreplace +wildignore +wildmenu +windows +writebackup -X11 -xfontset -xim -xsmp
-xterm_clipboard -xterm_save
系统 vimrc 文件: "$VIM/vimrc"
用户 vimrc 文件: "$HOME/.vimrc"
用户 exrc 文件: "$HOME/.exrc"
$VIM 预设值: "/usr/share/vim"
编译方式:
gcc -c -I. -Iproto -DHAVE_CONFIG_H -g -O2 -D_FORTIFY_SOURCE=1
链接方式: gcc -L/usr/local/lib -o vim -lm -lncurses -lgpm
可以看到配置文件的路径,我们要把原来的配置文件拷贝到它指定的路径才能新安装的 Vim 配置生效。
将 neocomplcache-6.1.zip 解压至 ~/.vim/
并在 .vimrc 中设置:
let g:neocomplcache_enable_at_startup = 1
启动 vim,即可使用代码补全功能。
但是中文显示不正常,查找网络得知需要添加编译选项 --enable-multibyte
于是重新编译安装 Vim:
./configure --enable-multibyte --prefix=/usr
make && make install
中文显示终于正常了。