Linux下vim配置文件

来源:互联网 发布:高乐股份 人工智能 编辑:程序博客网 时间:2024/05/17 23:59

前言

更新说明:添加了常用的编程相关的插件 如NERDTree,OmniCppComplete,L9,AutoComplPop
需要下载的整个配置压缩包的请移步至最新更新地址 http://www.github.com/jealdean/abodu

需要注意的是 在使用之前 需要将 文件头部 global variables 部分 的变量名 根据自己的实际情况来设置一下 否则 闹出版权纠纷就大麻烦了

实际配置文件内容如下:

"//=============================================================="// Copyright (c) 2007 - 2015 Abodu.com Inc. All Rights Reserved"// DESP: vim settings "// AUTHOR: jealdean"// ChgOn: 2015-04-19 01:22:34"// lastest update see [ http://www.github.com/jealdean/abodu ]"//==============================================================""{{{1 GLOBAL-VARIABLES let g:mapleader=';'let g:author='Roll Stone'let g:email='jealdean@outlook.com'let g:strVersion='1.1'let g:startyear='2007'let g:org='Abodu.com Inc. All Rights Reserved'"GENERAL-SETTINGS {{{1"basic-settings {{{2set nu nu noet bs=2 sts=4 ts=4 sw=4 tw=80set nobk noeb wrap lbr list hidden set is hls sc sm acd ttm=100set list lcs=tab:\¦\  set ai si ww=h,l,>,< wig=*.bak,*.o,*.e,*~,*.sw* "tab键自动完成会忽略这些后缀名的文件set errorformat=%f:%l:%m"当打开头文件的时候,自动搜索的路径set path=.,include,../include,set path+=../../include,/usr/include  "set path+=/usr/include/mysql  "add for mysql"set path+=/usr/src/kernel/include "add for linux kernel"Colors {{{2set t_Co=256let g:solarized_termcolors=256colo solarized" Encodings {{{2set encoding=utf-8set fenc=utf-8set fencs=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936,chineseset ambiwidth=double"Folds {{{2set fen fdc=2 fdl=10 fdm=syntaxnnoremap <space> @=((foldclosed(line('.'))<0)?'zc':'zo')<cr>"status line {{{2set laststatus=2  "总是显示状态栏set stl=%F[%1*%M%*%n%R%H%w%m%h][%l,%v,%p%%]\ %=\  set stl+=%0([%{&ft},%{&fileformat},%{&fileencoding}][%{strftime('%Y%m%d-%H:%M:%S')}]%)\  "FUNCTIONS{{{1"{{{2 UD_AIAddfunc! UD_AIAdd()  let n = 1  while n < 5    let line=getline(n)    if line =~ '.*\/.*$'      return    endif    let n+=1  endwhile     "make some local variables    let lCP=' Copyright (c) '.g:startyear.' - '.strftime('%Y').' '.g:org    let lGL='=============================================================='    let lName   ='    NAME: '.expand('%:t')    let lDesc   ='    DESC: '    let lAuthor ='  AUTHOR: '.g:author.'('.g:email.')'    let lVersion=' VERSION: '.g:strVersion    let lCrTime ='  CREATE: '.strftime('%Y-%m-%d %T')    let lLuTime ='  LUTIME: '.strftime('%Y-%m-%d %T')    let lGLS='/*'    let lGLE=' */'    let lPF =' *!'    let lfn=buffer_name("%")    if lfn=~ '\.sh$'      let lGLE=''      let lPF ='#'      let lGLS='#!/bin/sh'    elseif lfn =~ '\.pl*'      let lGLE=''      let lPF ='#'      let lGLS='#!/bin/perl'    endif    call append(0,[lGLS      \,lPF.lGL      \,lPF.lName       \,lPF.lDesc       \,lPF.lAuthor       \,lPF.lVersion       \,lPF.lCrTime       \,lPF.lLuTime       \,lPF,lPF.lCP       \,lPF.lGL       \,lGLE])endfunc"{{{2 UD_AIDetectfunc! UD_AIDetect()  let n=1  let updated=0  while n<10    let line=getline(n)    if (line =~ ".*NAME.*" || line =~ ".*FileName.*" || line =~ ".*Title.*")      let newline=substitute(line,":.*$",": ".expand("%:t"),"g")      call setline(n,newline)      let updated = 1    elseif ( line =~ '.*LUTIME.*' || line =~ '.*ChgOn.*' || line =~ '.*LastChangedTime.*' )      let newline=substitute(line,':.*$',': '.strftime('%Y-%m-%d %T'),'g')      call setline(n,newline)      let updated = 1    endif    let n+=1  endwhile  if updated == 0    call UD_AIAdd()  endifendfunc"MAPPINGS {{{1"{{{2 autocmdsif has("autocmd")  au BufRead *vimrc set ft=vim fdm=marker  au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal! g`\"" | endif   au BufEnter * :lch %:p:h   au InsertEnter * set cul cuc  au InsertLeave * set nocuc nocul  au BufRead,BufNewFile {make,Make,*mk}* set ft=make noet  au FileType c,cpp,java,make set noet nu fen  ts=4 sw=4 tw=80 ci cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s  au BufRead,BufNewFile *vimrc,*.vim set nu fen et ft=vim tw=80 fdm=marker  au FileWritePre,BufRead *.{java,c*,h*} silent exec "%! astyle -T4A2k1W3"  au BufNewFile,BufNew *.{sh,awk,pl,c*,h*} silent call UD_AIAdd()  au BufWritePre,FileWritePre,FileAppendPre *.{sh,awk,pl,java,c*,h*},*vimrc silent call UD_AIDetect()endif " has (autocmd)""{{{2 extend %au FileType html,xml,json set mps+=<:>au BufRead,FileType c,cpp,java set ai si ci fdm=syntax errorformat=%f:%l:%m mps+==:;au FileType c,cpp set path+=.,include,../include,/usr/include"{{{2 <F1> - <F12> mappings"<F1> - OVERRIDE Linux Help ShortKeymap <F1> <esc>:exec "help ".expand("<cword>")<cr>"<F2> - 删除相邻的多个空行只保留一行nmap <F2>       :silent %s/^[ \r\n]\{3,\}//g<cr>imap <F2>  <esc>:silent %s/^[ \r\n]\{3,\}//g<cr>"<F3> 开启/关闭NERDTree nmap <F3> :NERDTreeToggle<cr>imap <F3> <esc> :NERDTreeToggle<cr>"<F4> - update tlistnmap <F4>        :TlistUpdate<cr>imap <F4>   <esc>:TlistUpdate<cr>"<F6> - 开启/关闭粘贴模式set pastetoggle=<F6>"<F8> - Mapping for helptagsnmap <silent><F8> :helptags ~/.vim/doc <cr>"PLUGINS: {{{1"{{{2 "Switches:syntax enablefiletype onfiletype plugin onfiletype indent onfiletype plugin indent on"{{{2  "NERDTree:"当仅剩下NERDTree窗口时自动关闭au BufEnter * if(winnr("$")==1 && exists("b:NERDTreeType")&& b:NERDTreeType == "primary")|q|endif"{{{2 "Csupport:let g:C_CFlags='-Wall -g 'let g:C_Libs='-lm -lpthread '"let g:C_CFlags+=' -I/usr/include/mysql -I../../include'"let g:C_Libs+=' -L/usr/lib64/mysql -lmysqlclient'let g:C_CplusFlags=g:C_CFlagslet g:C_CplusLibs=g:C_Libslet g:C_TypeOfH='cpp'let g:C_InsertFileHeader ='no'let g:C_BraceOnNewLine='yes'let g:C_MapLeader=g:mapleaderlet g:C_Comments='no'let g:C_LineEndCommColDefault=50"{{{2 "DoxygenToolkit:let g:DoxygenToolkit_authorName=g:authorlet g:DoxygenToolkit_briefTag_pre="@Brief " "let g:DoxygenToolkit_commentType ="C++"let g:DoxygenToolkit_paramTag_pre="@Param " let g:DoxygenToolkit_returnTag   ="@Return " map  <leader>da        :DoxAuthor<cr>map  <leader>db        :DoxBlock<cr>map  <leader>dc        :DoxComment<cr>map  <leader>dl        :DoxLicense<cr>map  <leader>du        :DoxUndoc<cr>imap <leader>da   <esc>:DoxAuthor<cr>imap <leader>db   <esc>:DoxBlock<cr>imap <leader>dc   <esc>:DoxComment<cr>imap <leader>dl   <esc>:DoxLicense<cr>imap <leader>du   <esc>:DoxUndoc<cr>"{{{2 "Taglist:let Tlist_Auto_Open=0let Tlist_WinWidth=40let Tlist_Exit_OnlyWindow=1let Tlist_Use_Right_Window=0let Tlist_Close_On_Select=1let Tlist_File_Fold_Auto_Close = 1let Tlist_GainFocus_On_ToggleOpen=1let Tlist_Display_Prototype = 1let Tlist_Process_File_Always=0map tl :TlistToggle<cr>"{{{2 "AutoPairs:let g:AutoPairs = {'(':')','[':']','{':'}','"':'"','`':'`'}"{{{2 "OmniCppComplete:map <F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q -f ~/.vim/tags .<CR>set tags+=~/.vim/tags set completeopt=menu,menuone  let OmniCpp_MayCompleteDot=1    "打开  . 操作符let OmniCpp_MayCompleteArrow=1  "打开 -> 操作符let OmniCpp_MayCompleteScope=1  "打开 :: 操作符let OmniCpp_NamespaceSearch=1   "打开命名空间let OmniCpp_GlobalScopeSearch=1  let OmniCpp_ShowPrototypeInAbbr=1  "打开显示函数原型let OmniCpp_SelectFirstItem = 2    "自动弹出时自动跳至第一个let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"]autocmd CursorMovedI * if pumvisible() == 0|pclose|endifautocmd InsertLeave * if pumvisible() == 0|pclose|endif"}}} "}}} " /* vim: set ft=vim nu ts=4 sw=4 tw=80: */
0 0
原创粉丝点击