我的VIM配置(ubuntu)

前几天有位谦虚的高人让我贴一下我的vim配置,就在这里贴一下好了,

001set nocp    "设置兼容
002set expandtab   "设置tab
003set shiftwidth=4    "设置tab的间隔
004set tabstop=4   "四个空格代表一个tab
005set sts=4
006set showmatch   "在输入括号时光标会短暂地跳到与之相匹配的括号处
007set autoindent  "设置自动缩进
008" set smartindent "设置智能缩进
009set nowrap    "设置自动换行
010set tw=500
011set lbr
012set number  "设置是否显示行
013set guifont=Monospace\ 11  "设置字体大小
014set encoding=utf-8  "设置编码为utf-8
015set fileencoding=utf-8
016set fileencodings=ucs-bom,utf-8,GB18030,cp936,big5,euc-jp,euc-kr,latin1
017set helplang=cn "帮助中文支持
018colorscheme tango "设置主体颜色
019"set mouse=v " 设置粘贴和复制
020 
021"自动补全配置
022autocmd FileType python set omnifunc=pythoncomplete#Complete
023autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
024autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
025autocmd FileType css set omnifunc=csscomplete#CompleteCSS
026autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
027autocmd FileType php set omnifunc=phpcomplete#CompletePHP
028autocmd FileType c set omnifunc=ccomplete#Complete
029 
030" =================================进行Taglist的设置<Begin>============================
031map <F3> :TlistToggle<CR>
032"map <F3> :silent! Tlist<CR>             "按下F3就可以呼出了
033"let Tlist_Ctags_Cmd='/usr/bin/ctags'    "因为我们放在环境变量里,所以可以直接执行
034let 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>==============================
041 
042 
043 
044 
045" ############################键盘映射设置区域###############################
046map <F2> :NERDTreeToggle<CR>
047map <F4> t :NERDTreeMirror<CR>
048 
049 
050" 对应使用函数的配置
051set guitablabel=%{ShortTabLabel()}
052function ShortTabLabel ()
053  let bufnrlist = tabpagebuflist (v:lnum)
054  let label = bufname (bufnrlist[tabpagewinnr (v:lnum) -1])
055  let filename = fnamemodify (label, ':t')
056  return filename
057endfunction
058 
059set tabline=%!MyTabLine()
060function MyTabLine()
061  let s = ''
062  for i in range(tabpagenr('$'))
063    " 选择高亮
064    if i + 1 == tabpagenr()
065      let s .= '%#TabLineSel#'
066    else
067      let s .= '%#TabLine#'
068    endif
069    " 设置标签页号 (用于鼠标点击)
070    let s .= '%' . (i + 1) . 'T'
071    " MyTabLabel() 提供完整路径标签 MyShortTabLabel 提供文件名标签
072    let s .= ' %{MyShortTabLabel(' . (i + 1) . ')} '
073  endfor
074  " 最后一个标签页之后用 TabLineFill 填充并复位标签页号
075  let s .= '%#TabLineFill#%T'
076  " 右对齐用于关闭当前标签页的标签
077  if tabpagenr('$') > 1
078    let s .= '%=%#TabLine#%999Xclose'
079  endif
080  return s
081endfunction
082" 文件名标签
083function MyShortTabLabel(n)
084  let buflist = tabpagebuflist(a:n)
085  let label = bufname (buflist[tabpagewinnr (a:n) -1])
086  let filename = fnamemodify (label, ':t')
087  return filename
088endfunction
089"完整路径标签
090function MyTabLabel(n)
091  let buflist = tabpagebuflist(a:n)
092  let winnr = tabpagewinnr(a:n)
093  return bufname(buflist[winnr - 1])
094endfunction
095" vim 标签样式
096"  TabLineFill  tab pages line, where there are no labels
097hi TabLineFill term=none
098hi TabLineFill ctermfg=DarkGrey
099hi TabLineFill guifg=#777777
100"  TabLineSel   tab pages line, active tab page label
101hi TabLineSel term=inverse
102hi TabLineSel cterm=none ctermfg=yellow ctermbg=Black
103hi TabLineSel gui=none guifg=yellow guibg=Black
104  
105" Develop editing options
106au FileType vim setl expandtab
107au FileType vim setl shiftwidth=2
108au FileType vim setl tabstop=2
109 
110" 显示状态栏(默认值为 1,无法显示状态栏)
111set laststatus=2
112" Format the statusline
113set statusline=\ %F%m%r%h\ %w\ \ CWD:\ %r%{CurDir()}E5%h\ \ \ Line:\ %l/%L:%c
114  
115function! CurDir()
116    let curdir = substitute(getcwd(), '/Users/amir/', "~/", "g")
117    return curdir
118endfunction
119 
120"#######################设置PHP函数自动提醒#########################Start
121"设置字典自动完成
122set complete+=k
123"设置字典
124set dictionary=~/.vim/doc/php_funclist.txt
125" 自动完成使用TAB键
126function! InsertTabWrapper()
127    let col=col('.')-1
128    if !col || getline('.')[col-1] !~ '\k'
129        return "\<TAB>"
130    else
131        return "\<C-N>"
132    endif
133endfunction
134"将InsertTabWrapper映射到TAB上
135inoremap <TAB> <C-R>=InsertTabWrapper()<CR>
136"#######################设置PHP函数自动提醒#########################End
137 
138 
139"#######中括号 大括号 小括号 自动补全
140:inoremap ( ()<ESC>i
141:inoremap ) <c-r>=ClosePair(')')<CR>
142:inoremap { {}<ESC>i
143:inoremap } <c-r>=ClosePair('}')<CR>
144:inoremap [ []<ESC>i
145:inoremap ] <c-r>=ClosePair(']')<CR>
146:inoremap < <><ESC>i
147:inoremap > <c-r>=ClosePair('>')<CR>
148 
149function ClosePair(char)
150    if getline('.')[col('.') - 1] == a:char
151        return "\<Right>"
152    else
153        return a:char
154    endif
155endfunction
156"#######中括号 大括号 小括号 自动补全

对应的配置文件,全部在gvim的网站上有
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值