貼一下我的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'