贴一下我的vimrc,看起来真的很养眼,呵呵。这几天一直忙活着配置VIM,这个编辑器太迷人了。虽然emacs也强大,可是仔细想想,还是vim的效率高一些。原因如下:emacs通过 Lisp 来扩展,可扩展性几乎无穷,但是没有模式,恨不得再加个脚踏板就好。其实他也要输入命令,本质上还是一样的。VIM也有自己的脚本平台,也可以扩展,只不过扩展性没有emacs那么牛而已吧。连和gdb整合起来几乎都要重新编译一下,太过麻烦。前两天下的那个插件 snipmate 让我着实兴奋了好久,突然有了写代码的冲动,不,应该是写 snippet 的冲动。天哪,原来写程序可以这么美妙的。VIM 的自动补全还可以,那个SuperTab插件因为TAB和我心爱的 snippet 冲突,我直接把他去掉了。偶还改了自动补全插件,加了个 toggle 功能键,绑定到F8,每当冲突或不需要自动补全时,就把丫的关了。有了自动补全,根本就不再需要 SuperTab 了。自动补全 + snippet,基本上就够了。
在网上找了一圈 intellisense 插件,找到一个,结果是 for windows only. 还没有移植到linux,让人伤心阿。很有冲动去写一个,可惜现在的主要精力是发表小 论文和准备毕业。哎,在linux世界里真是太有意思了。
VIM 的 colorscheme 我试验了好多,最后还是中意这个著名的 ps_color 的改进版,看久了都很舒服,而且在终端下和GUI 下的颜色几乎没有差别。
诶,在网上逛来逛去,有趣的东西太多了,自己兴趣又广泛,时间又有限,怎么办呀……
1 set nocompatible
2 set backspace =2
3 set autoindent
4 set smartindent
5 set cindent
6 set nu
7 set fileformats =unix, dos, mac
8 set enc =utf-8
9 set fileencodings =ucs-bom, utf-8, gb18030, big5, cp936, shift-jis
10 set autoread
11 set mouse =a
12 set shiftwidth =8
13 set ruler
14 set ignorecase
15 set incsearch
16 set showmatch
17
18 syntax enable
19 syntax on
20 "colorscheme desert
21 "colorscheme darkblue
22 "colorscheme torte
23 if ! has ( "gui_running" )
24 set t_Co =256
25 endif
26 " set background=light gives a different style, feel free to choose between them.
27 set background =dark
28 let psc_style= 'warm'
29 colors peaksea
30
31 let Tlist_Show_One_File= 1
32 let Tlist_Exit_OnlyWindow= 1
33 let g:winManagerWindowLayout= 'FileExplorer|TagList'
34
35 filetype indent on
36 filetype plugin on
37 filetype plugin indent on
38 set completeopt =longest, menu
39
40 let g:miniBufExplMapCTabSwitchBufs = 1
41 let g:miniBufExplMapWindowNavVim = 1
42 let g:miniBufExplMapWindowNavArrows = 1
43
44 source /usr/share/vim /vim72/ftplugin/man. vim
45
46 if !exists ( "autocommands_loaded" )
47 let autocommands_loaded = 1
48 autocmd FileType vim set tags +=~/.vim/tags
49 autocmd FileType html,xml,htm setl mps +=<: >
50 autocmd FileType php set omnifunc =phpcomplete#CompletePHP dict -=~/.vim/phpfunclist.txt dict +=~/.vim/phpfunclist.txt
51 autocmd BufEnter * :syntax sync fromstart
52 autocmd BufUnload * :syntax sync fromstart
53 endif
54
55 " Defart setting is that supertab was disabled.
56 "let g:SuperTabDefaultCompletion = "<C-X><C-O>"
57
58 " MAP KEYS:
59 nmap wm :WMToggle< cr >
60
61 noremap < silent > < F3 > :Egrep< CR >
62 inoremap < silent > < F3 > < Esc > :Egrep< CR >
63
64 noremap < F2 > < Esc > :Calendar< CR >
65 inoremap < F2 > < Esc > :Calendar< CR >
66
67 noremap < F4 > :source ~/.vimrc< CR >
68 inoremap < F4 > < Esc > :source ~/.vimrc< CR > a
69
70 inoremap < F7 > < Esc > :read !date< CR > kJ$a
71
72 noremap < F12 > :A< CR >
73 inoremap < F12 > < Esc > :A< CR > a
74 "<F8> is used for turn on/off the acp which defined in plugin/acp.vim.
75
76 noremap < C-F8 > :make< CR > :cw< CR >
77 inoremap < C-F8 > < Esc > :make< CR > :cw< CR >
78
79 set tags +=~/.vim/tags/cpp.tags
80 set tags +=~/.vim/tags/glib.tags
81 set tags +=~/.vim/tags/libc.tags
82 set tags +=~/.vim/tags/susv2.tags
83
84 " For bashrc:
85 " alias ctags='ctags --c++-kinds=+p --fields=+ialS --extra=+q'