前几天有位谦虚的高人让我贴一下我的vim配置,就在这里贴一下好了,
003 | set shiftwidth=4 "设置tab的间隔 |
004 | set tabstop=4 "四个空格代表一个tab |
006 | set showmatch "在输入括号时光标会短暂地跳到与之相匹配的括号处 |
007 | set autoindent "设置自动缩进 |
008 | " set smartindent " 设置智能缩进 |
013 | set guifont=Monospace\ 11 "设置字体大小 |
014 | set encoding=utf-8 "设置编码为utf-8 |
015 | set fileencoding=utf-8 |
016 | set fileencodings=ucs-bom,utf-8,GB18030,cp936,big5,euc-jp,euc-kr,latin1 |
017 | set helplang=cn "帮助中文支持 |
018 | colorscheme tango "设置主体颜色 |
019 | "set mouse=v " 设置粘贴和复制 |
022 | autocmd FileType python set omnifunc=pythoncomplete |
023 | autocmd FileType javascript set omnifunc=javascriptcomplete |
024 | autocmd FileType html set omnifunc=htmlcomplete |
025 | autocmd FileType css set omnifunc=csscomplete |
026 | autocmd FileType xml set omnifunc=xmlcomplete |
027 | autocmd FileType php set omnifunc=phpcomplete |
028 | autocmd FileType c set omnifunc=ccomplete |
030 | " =================================进行Taglist的设置<Begin>============================ |
031 | map <F3> :TlistToggle<CR> |
032 | "map <F3> :silent! Tlist<CR> " 按下F3就可以呼出了 |
033 | "let Tlist_Ctags_Cmd='/usr/bin/ctags' " 因为我们放在环境变量里,所以可以直接执行 |
034 | let Tlist_Use_Right_Window=1 "让窗口显示在右边,0的话就是显示在左边 |
035 | "let Tlist_Show_One_File=1 " 让taglist可以同时展示多个文件的函数列表 |
036 | "let Tlist_File_Fold_Auto_Close=1 " 非当前文件,函数列表折叠隐藏 |
037 | "let Tlist_Exit_OnlyWindow=1 " 当taglist是最后一个分割窗口时,自动推出vim |
038 | "let Tlist_Process_File_Always=0 " 是否一直处理tags.1:处理;0:不处理 |
039 | "let Tlist_Inc_Winwidth=0 " 不是一直实时更新tags,因为没有必要 |
040 | " =================================进行Taglist的设置<End>============================== |
046 | map <F2> :NERDTreeToggle<CR> |
047 | map <F4> t :NERDTreeMirror<CR> |
051 | set guitablabel=%{ShortTabLabel()} |
052 | function ShortTabLabel () |
053 | let bufnrlist = tabpagebuflist ( v :lnum) |
054 | let label = bufname (bufnrlist[tabpagewinnr ( v :lnum) -1]) |
055 | let filename = fnamemodify (label, ':t' ) |
059 | set tabline=%!MyTabLine() |
062 | for i in range(tabpagenr( '$' )) |
064 | if i + 1 == tabpagenr() |
065 | let s .= '%#TabLineSel#' |
067 | let s .= '%#TabLine#' |
070 | let s .= '%' . (i + 1) . 'T' |
071 | " MyTabLabel() 提供完整路径标签 MyShortTabLabel 提供文件名标签 |
072 | let s .= ' %{MyShortTabLabel(' . (i + 1) . ')} ' |
074 | " 最后一个标签页之后用 TabLineFill 填充并复位标签页号 |
075 | let s .= '%#TabLineFill#%T' |
077 | if tabpagenr( '$' ) > 1 |
078 | let s .= '%=%#TabLine#%999Xclose' |
083 | function MyShortTabLabel(n) |
084 | let buflist = tabpagebuflist(a:n) |
085 | let label = bufname (buflist[tabpagewinnr (a:n) -1]) |
086 | let filename = fnamemodify (label, ':t' ) |
090 | function MyTabLabel(n) |
091 | let buflist = tabpagebuflist(a:n) |
092 | let winnr = tabpagewinnr(a:n) |
093 | return bufname(buflist[winnr - 1]) |
096 | " TabLineFill tab pages line, where there are no labels |
097 | hi TabLineFill term=none |
098 | hi TabLineFill ctermfg=DarkGrey |
100 | " TabLineSel tab pages line, active tab page label |
101 | hi TabLineSel term=inverse |
102 | hi TabLineSel cterm=none ctermfg=yellow ctermbg=Black |
103 | hi TabLineSel gui=none guifg=yellow guibg=Black |
105 | " Develop editing options |
106 | au FileType vim setl expandtab |
107 | au FileType vim setl shiftwidth=2 |
108 | au FileType vim setl tabstop=2 |
110 | " 显示状态栏(默认值为 1,无法显示状态栏) |
112 | " Format the statusline |
113 | set statusline=\ %F%m%r%h\ %w\ \ CWD:\ %r%{CurDir()}E5%h\ \ \ Line:\ %l/%L:%c |
116 | let curdir = substitute(getcwd(), '/Users/amir/' , "~/" , "g" ) |
124 | set dictionary=~/.vim/doc/php_funclist.txt |
126 | function ! InsertTabWrapper() |
128 | if !col || getline( '.' )[col-1] !~ '\k' |
134 | "将InsertTabWrapper映射到TAB上 |
135 | inoremap <TAB> <C-R>=InsertTabWrapper()<CR> |
141 | :inoremap ) <c-r>=ClosePair( ')' )<CR> |
143 | :inoremap } <c-r>=ClosePair( '}' )<CR> |
145 | :inoremap ] <c-r>=ClosePair( ']' )<CR> |
147 | :inoremap > <c-r>=ClosePair( '>' )<CR> |
149 | function ClosePair(char) |
150 | if getline( '.' )[col( '.' ) - 1] == a:char |
对应的配置文件,全部在gvim的网站上有