贴个自个用的vimrc
 分类:             Vim  2012-02-02 11:44 151人阅读 评论(0) 收藏 举报
- "~/.vimrc(configurationfileforvimonly)
 - setfileencodings=utf-8,gb2312,gbk,gb18030
 - settermencoding=utf-8
 - "vundlebegin插件管理
 - filetypeoff"required!
 - setrtp+=~/.vim/bundle/vundle/
 - callvundle#rc()
 - "letVundlemanageVundle
 - "required!
 - Bundle'gmarik/vundle'
 - "vim-scriptsrepos
 - Bundle'STL-improved'
 - Bundle'taglist.vim'
 - Bundle'tag_in_new_tab'
 - Bundle'autoload_cscope.vim'
 - Bundle'CmdlineComplete'
 - Bundle'xptemplate'
 - Bundle'neocomplcache'
 - Bundle'genutils'
 - Bundle'lookupfile'
 - Bundle'autopreview'
 - Bundle'echofunc.vim'
 - Bundle'grep.vim'
 - Bundle'a.vim'
 - Bundle'The-NERD-Commenter'
 - Bundle'The-NERD-tree'
 - Bundle'Source-Explorer-srcexpl.vim'
 - Bundle'trinity.vim'
 - "underlinuxneedexec'dos2unix~/.vim/bundle/QFixToggle/plugin/qfixtoggle.vim'
 - Bundle'QFixToggle'
 - Bundle'Color-Sampler-Pack'
 - Bundle'txt.vim'
 - Bundle'mru.vim'
 - Bundle'Align'
 - Bundle'DoxygenToolkit.vim'
 - Bundle'headerGatesAdd.vim'
 - Bundle'ShowMarks'
 - "nongithubrepos
 - "autocomplete.match.pair.vim,这个安装完必须在.vim/bundle/449512/目录下创建plugin目录并在其下创建软链接指向autocomplete.match.pair.vim,否则不工作,另外不知为何(号不会自动完成配对
 - Bundle'git://gist.github.com/449512.git'
 - "...
 - filetypepluginindenton"required!
 - "vundleend
 - colorschemedesert
 - synon"显高亮
 - "setruler"屏幕右下角显示当前光标所处位置
 - setlaststatus=2"alwayshavestatus-line'
 - setstatusline=%F%m%r%h%w\%{&ff}\%Y\[ascii:%b\hex:0x\%02.2B]\[%{(&fenc\==\\"\"?&enc:&fenc).(&bomb?\",BOM\":\"\")}]\%=%l/%L,%v\%p%%
 - setnumber
 - setautochdir"自动切换当前目录为当前文件所在的目录
 - setautoread"文件被其他程序修改时自动载入
 - "Linesfolding
 - "setfoldenable
 - "setfoldnestmax=1
 - "setfoldmethod=syntax
 - "setfoldlevel=1
 - "allowbackspacingovereverythingininsertmode
 - setbackspace=indent,eol,start
 - setshiftwidth=4
 - settabstop=4
 - setsofttabstop=4
 - setexpandtab
 - setlist"显示Tab符,使用一高亮竖线代替
 - setlistchars=tab:\|\,
 - "http://vimcdoc.sourceforge.net/doc/indent.html
 - "g0类的public顶格写
 - ":0将case标号放在switch()缩进位置之后的N个字符处
 - "N-snamespace下顶格
 - "(0条件语句多个条件在不同行时下一行与上一行对齐
 - setcinoptions=g0,:0,N-s,(0
 - setautoindent
 - setsmartindent
 - "setmouse=a
 - setmps+=<:>"让<>可以使用%跳转
 - sethid"allowtochangebufferwithoutsaving
 - setshortmess=atI"shortensmessagestoavoid'pressakey'prompt
 - setlazyredraw"donotredrawwhileexecutingmacros(muchfaster)
 - "SetNumberformattonull(defaultisoctal),whenpressCTRL-Aonnumber
 - "like007,itwouldnotbecome010
 - setnf=
 - "InVisualBlockMode,cursorcanbepositionedwherethereisnoactualcharacter
 - setve=block
 - setignorecase"Setsearch/replacepatterntoignorecase
 - setsmartcase"Setsmartcasemodeon,Ifthereisuppercasecharacterinthesearchpatern,the'ignorecase'optionwillbeoverride.
 - setshowcmd"displayincompletecommands
 - setincsearch"doincrementalsearching
 - sethlsearch"highlightsearch
 - setmagic"Enablemagicmatching
 - setshowmatch"showmatchingparen
 - setwildmenu"增强模式中的命令行自动完成操作
 - "Autochangetherootdirectory
 - letNERDTreeChDirMode=2
 - letg:DoxygenToolkit_blockHeader="--------------------------------------------------------------------------"
 - letg:DoxygenToolkit_blockFooter="--------------------------------------------------------------------------"
 - letg:DoxygenToolkit_authorName="帅得不敢出门c++群31843264"
 - letg:DoxygenToolkit_versionString="0.1.00"
 - letg:DoxygenToolkit_briefTag_funcName="yes"
 - autocmdBufNewFile*.{h,hpp,c,cpp}DoxAuthor
 - "<Space>keyatnormalmodel.
 - "nnoremap<Space>i<Esc>l
 - "Switchingbetweenbuffers.
 - nnoremap<C-h><C-W>h
 - nnoremap<C-j><C-W>j
 - nnoremap<C-k><C-W>k
 - nnoremap<C-l><C-W>l
 - inoremap<C-h><Esc><C-W>h
 - inoremap<C-j><Esc><C-W>j
 - inoremap<C-k><Esc><C-W>k
 - inoremap<C-l><Esc><C-W>l
 - "SetUpandDownnon-linewise
 - noremap<Up>gk
 - noremap<Down>gj
 - "useMetakey(Windows:Alt)tomovecursorininsertmode.
 - "Note:ifsysteminstall"LingoesTranslator",
 - "youwillneedchange/disabledhotkey.
 - noremap!<M-j><Down>
 - noremap!<M-k><Up>
 - noremap!<M-h><left>
 - noremap!<M-l><Right>
 - setpastetoggle=<F2>
 - "nnoremap<F2>:setinvnumbernumber?<CR>:setinvpastepaste?<CR>
 - "imap<F2><C-O>:setinvpastepaste?<CR><C-O>:setinvnumbernumber?<CR>
 - nnoremap<silent><F3>:Rgrep<CR>
 - nnoremap<F6>:AutoPreviewToggle<CR>
 - inoremap<F6><ESC>:AutoPreviewToggle<CR>i
 - "Openandcloseallthethreepluginsonthesametime
 - nmap<F8>:TrinityToggleAll<CR>
 - "Openandclosethesrcexpl.vimseparately
 - nmap<F7>:TrinityToggleSourceExplorer<CR>
 - "Openandclosethetaglist.vimseparately
 - nmap<F10>:TrinityToggleTagList<CR>
 - "OpenandclosetheNERD_tree.vimseparately
 - nmap<F11>:TrinityToggleNERDTree<CR>
 - "--lookupfile--
 - letg:LookupFile_MinPatLength=2"最少输入2个字符才开始查找
 - letg:LookupFile_PreserveLastPattern=0"不保存上次查找的字符串
 - "letg:LookupFile_PreservePatternHistory=1"保存查找历史
 - letg:LookupFile_AlwaysAcceptFirst=1"回车打开第一个匹配项目
 - letg:LookupFile_AllowNewFiles=0"不允许创建不存在的文件
 - iffilereadable("./filenametags")"设置tag文件的名字
 - letg:LookupFile_TagExpr='"./filenametags"'
 - endif
 - "--taglist--
 - settags=tags;
 - letTlist_Auto_Update=1
 - "--cscope--
 - letg:autocscope_menus=0
 - "Usequickfixwindowtoshowcscoperesults
 - setcscopequickfix=s-,g-,d-,c-,t-,e-,f-,i-
 - "'csto'被设为0,cscope数据库先被搜索,搜索失败的情况下在搜索标签文件
 - "设定了'cscopetag',这样所有的:tag命令就会实际上调用:cstag。这包括:tag、Ctrl-]及vim-t。
 - "结果是一般的tag命令不仅搜索由ctags产生的标签文件,同时也搜索cscope数据库,但是好像有bug,二者共存时有的无法搜索
 - ifhas("cscope")
 - setcsprg=/usr/bin/cscope
 - "Usebothcscopeandctag
 - setcscopetag
 - "Showmsgwhencscopedbadded
 - setcscopeverbose
 - "Usecscopefordefinitionsearchfirst
 - setcscopetagorder=0
 - endif
 - nmap<C-_>s:csfinds<C-R>=expand("<cword>")<CR><CR>
 - nmap<C-_>g:csfindg<C-R>=expand("<cword>")<CR><CR>
 - nmap<C-_>c:csfindc<C-R>=expand("<cword>")<CR><CR>
 - nmap<C-_>t:csfindt<C-R>=expand("<cword>")<CR><CR>
 - nmap<C-_>e:csfinde<C-R>=expand("<cword>")<CR><CR>
 - nmap<C-_>f:csfindf<C-R>=expand("<cfile>")<CR><CR>
 - nmap<C-_>i:csfindi^<C-R>=expand("<cfile>")<CR>{1}lt;CR>
 - nmap<C-_>d:csfindd<C-R>=expand("<cword>")<CR><CR>
 - "解决cscope与tag共存时ctrl+]有时不正常的bug
 - nmap<C-]>:tj<C-R>=expand("<cword>")<CR><CR>
 - "VimTip329:Amapforswappingwords
 - "http://vim.sourceforge.net/tip_view.php?tip_id=
 - "Thenwhenyouputthecursoronorinaword,press"\sw",and
 - "thewordwillbeswappedwiththenextword.Thewordsmay
 - "evenbeseparatedbypunctuation(suchas"abc=def").
 - nnoremap<unique><silent><leader>sw"_yiw:s/\(\%#\w\+\)\(\W\+\)\(\w\+\)/\3\2\1/<cr><c-o>
 - "DisableAutoComplPop.
 - letg:acp_enableAtStartup=0
 - "Useneocomplcache.
 - letg:neocomplcache_enable_at_startup=1
 - "Usesmartcase.
 - letg:neocomplcache_enable_smart_case=1
 - "Usecamelcasecompletion.
 - letg:neocomplcache_enable_camel_case_completion=1
 - "Useunderbarcompletion.
 - letg:neocomplcache_enable_underbar_completion=1
 - "Setminimumsyntaxkeywordlength.
 - letg:neocomplcache_min_syntax_length=3
 - letg:neocomplcache_lock_buffer_name_pattern='\*ku\*'
 - letg:neocomplcache_enable_ignore_case=0
 - "Definedictionary.
 - letg:neocomplcache_dictionary_filetype_lists={
 - \'default':'',
 - \'vimshell':$HOME.'/.vimshell_hist',
 - \'scheme':$HOME.'/.gosh_completions'
 - \}
 - "Definekeyword.
 - if!exists('g:neocomplcache_keyword_patterns')
 - letg:neocomplcache_keyword_patterns={}
 - endif
 - letg:neocomplcache_keyword_patterns['default']='\h\w*'
 - "Recommendedkey-mappings.
 - "<CR>:closepopupandsaveindent.
 - inoremap<expr><CR>neocomplcache#smart_close_popup()."\<CR>"
 - "<TAB>:completion.
 - "inoremap<expr><TAB>pumvisible()?"\<C-n>":"\<TAB>"
 - "<C-h>,<BS>:closepopupanddeletebackwordchar.
 - inoremap<expr><C-h>neocomplcache#smart_close_popup()."\<C-h>"
 - inoremap<expr><BS>neocomplcache#smart_close_popup()."\<C-h>"
 - inoremap<expr><C-y>neocomplcache#close_popup()
 - inoremap<expr><C-e>neocomplcache#cancel_popup()
 - "Fastremovehighlightsearch
 - nmap<silent><leader><cr>:noh<cr>
 - "每行超过80个的字符用下划线标示
 - auBufRead,BufNewFile*.asm,*.c,*.cpp,*.java,*.cs,*.sh,*.lua,*.pl,*.pm,*.py,*.rb,*.hs,*.vim2matchUnderlined/.\%81v/
 - "超过80个的字符高亮
 - "auBufWinEnter*letw:m1=matchadd('Search','\%<88v.\%>81v',-1)
 - "auBufWinEnter*letw:m2=matchadd('ErrorMsg','\%>80v.\+',-1)
 - "高亮显示txt需要txt.vim
 - auBufRead,BufNewFile*setfiletypetxt
 - "Restorethelastquitpositionwhenopenfile.
 - autocmdBufReadPost*
 - \ifline("'\"")>0&&line("'\"")<=line("{1}quot;)|
 - \exe"normalg'\""|
 - \endif
 - "自动更新最后修改时间
 - function!AutoUpdateTheLastUpdateInfo()
 - lets:original_pos=getpos(".")
 - lets:regexp="^\\s*\\([#\\\"\\*]\\|\\/\\/\\)\\s\\?[lL]ast\\([uU]pdate\\|[cC]hange\\):"
 - lets:lu=search(s:regexp)
 - ifs:lu!=0
 - lets:update_str=matchstr(getline(s:lu),s:regexp)
 - callsetline(s:lu,s:update_str.strftime("%Y-%m-%d%H:%M:%S",localtime()))
 - callsetpos(".",s:original_pos)
 - endif
 - endfunction
 - autocmdBufWritePost*.{h,hpp,c,cpp}callAutoUpdateTheLastUpdateInfo()
 - autocmdBufNewFile*.{h,hpp,c,cpp}exec'callappend(0,"\/\/LastUpdate:".strftime("%Y-%m-%d%H:%M:%S",localtime()))'
 
" ~/.vimrc (configuration file for vim only)
set fileencodings=utf-8,gb2312,gbk,gb18030
set termencoding=utf-8
"vundle begin 插件管理
filetype off                   " required!
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
" let Vundle manage Vundle
" required!
Bundle 'gmarik/vundle'
" vim-scripts repos
Bundle 'STL-improved'
Bundle 'taglist.vim'
Bundle 'tag_in_new_tab'
Bundle 'autoload_cscope.vim'
Bundle 'CmdlineComplete'
Bundle 'xptemplate'
Bundle 'neocomplcache'
Bundle 'genutils'
Bundle 'lookupfile'
Bundle 'autopreview'
Bundle 'echofunc.vim'
Bundle 'grep.vim'
Bundle 'a.vim'
Bundle 'The-NERD-Commenter'
Bundle 'The-NERD-tree'
Bundle 'Source-Explorer-srcexpl.vim'
Bundle 'trinity.vim'
"under linux need exec 'dos2unix ~/.vim/bundle/QFixToggle/plugin/qfixtoggle.vim'
Bundle 'QFixToggle'
Bundle 'Color-Sampler-Pack'
Bundle 'txt.vim'
Bundle 'mru.vim'
Bundle 'Align'
Bundle 'DoxygenToolkit.vim'
Bundle 'headerGatesAdd.vim'
Bundle 'ShowMarks'
" non github repos
" autocomplete.match.pair.vim,这个安装完必须在.vim/bundle/449512/目录下创建plugin目录并在其下创建软链接指向autocomplete.match.pair.vim,否则不工作,另外不知为何(号不会自动完成配对
Bundle 'git://gist.github.com/449512.git'
" ...
filetype plugin indent on     " required!
"vundle end
colorscheme desert
syn on "显高亮
"set ruler  "屏幕右下角显示当前光标所处位置
set laststatus=2 " always have status-line'
set statusline=%F%m%r%h%w\ %{&ff}\ %Y\ [ascii:%b\ hex:0x\%02.2B]\ [%{(&fenc\ ==\ \"\"?&enc:&fenc).(&bomb?\",BOM\":\"\")}]\ %=%l/%L,%v\ %p%%
set number
set autochdir          " 自动切换当前目录为当前文件所在的目录
set autoread           " 文件被其他程序修改时自动载入
" Lines folding
"set foldenable
"set foldnestmax=1
"set foldmethod=syntax
"set foldlevel=1
" allow backspacing over everything in insert mode
set backspace=indent,eol,start
set shiftwidth=4
set tabstop=4
set softtabstop=4
set expandtab
set list                     " 显示Tab符,使用一高亮竖线代替
set listchars=tab:\|\ ,
" http://vimcdoc.sourceforge.net/doc/indent.html
" g0 类的public顶格写
" :0 将 case 标号放在 switch() 缩进位置之后的 N 个字符处
" N-s namespace 下顶格
" (0  条件语句多个条件在不同行时下一行与上一行对齐
set cinoptions=g0,:0,N-s,(0
set autoindent
set smartindent
"set mouse=a
set mps+=<:>            "让<>可以使用%跳转
set hid " allow to change buffer without saving
set shortmess=atI " shortens messages to avoid 'press a key' prompt
set lazyredraw "do not redraw while executing macros (much faster)
" Set Number format to null(default is octal) , when press CTRL-A on number
" like 007, it would not become 010
set nf=
" In Visual Block Mode, cursor can be positioned where there is no actual character
set ve=block
set ignorecase " Set search/replace pattern to ignore case
set smartcase " Set smartcase mode on, If there is upper case character in the search patern, the 'ignorecase' option will be override.
set showcmd     " display incomplete commands
set incsearch       " do incremental searching
set hlsearch  "highlight search
set magic   " Enable magic matching
set showmatch " show matching paren
set wildmenu "增强模式中的命令行自动完成操作
" Auto change the root directory
let NERDTreeChDirMode=2
let g:DoxygenToolkit_blockHeader="--------------------------------------------------------------------------"
let g:DoxygenToolkit_blockFooter="--------------------------------------------------------------------------"
let g:DoxygenToolkit_authorName="帅得不敢出门 c++群31843264"
let g:DoxygenToolkit_versionString="0.1.00"
let g:DoxygenToolkit_briefTag_funcName="yes"
autocmd BufNewFile *.{h,hpp,c,cpp} DoxAuthor
" <Space> key at normal model.
"nnoremap <Space> i <Esc>l
" Switching between buffers.
nnoremap <C-h> <C-W>h
nnoremap <C-j> <C-W>j
nnoremap <C-k> <C-W>k
nnoremap <C-l> <C-W>l
inoremap <C-h> <Esc><C-W>h
inoremap <C-j> <Esc><C-W>j
inoremap <C-k> <Esc><C-W>k
inoremap <C-l> <Esc><C-W>l
" Set Up and Down non-linewise
noremap <Up> gk
noremap <Down> gj
" use Meta key(Windows:Alt) to move cursor in insert mode.
" Note: if system install "Lingoes Translator",
"   you will need change/disabled hot key.
noremap! <M-j> <Down>
noremap! <M-k> <Up>
noremap! <M-h> <left>
noremap! <M-l> <Right>
set pastetoggle=<F2>
"nnoremap <F2> :set invnumber number?<CR>:set invpaste paste?<CR>
"imap <F2> <C-O>:set invpaste paste?<CR><C-O>:set invnumber number?<CR>
nnoremap <silent> <F3> :Rgrep<CR>
nnoremap <F6> :AutoPreviewToggle<CR>
inoremap <F6> <ESC>:AutoPreviewToggle<CR>i
" Open and close all the three plugins on the same time
nmap <F8>   :TrinityToggleAll<CR>
" Open and close the srcexpl.vim separately
nmap <F7>   :TrinityToggleSourceExplorer<CR>
" Open and close the taglist.vim separately
nmap <F10>  :TrinityToggleTagList<CR>
" Open and close the NERD_tree.vim separately
nmap <F11>  :TrinityToggleNERDTree<CR>
" --lookupfile--
let g:LookupFile_MinPatLength = 2               "最少输入2个字符才开始查找
let g:LookupFile_PreserveLastPattern = 0        "不保存上次查找的字符串
"let g:LookupFile_PreservePatternHistory = 1     "保存查找历史
let g:LookupFile_AlwaysAcceptFirst = 1          "回车打开第一个匹配项目
let g:LookupFile_AllowNewFiles = 0              "不允许创建不存在的文件
if filereadable("./filenametags")                "设置tag文件的名字
let g:LookupFile_TagExpr ='"./filenametags"'
endif
" -- taglist --
set tags=tags;
let Tlist_Auto_Update=1
" -- cscope --
let g:autocscope_menus=0
" Use quickfix window to show cscope results
set cscopequickfix=s-,g-,d-,c-,t-,e-,f-,i-
"'csto' 被设为 0,cscope 数据库先 被搜索,搜索失败的情况下在搜索标签文件
"设定了 'cscopetag',这样所有的 :tag 命令就会实际上调用 :cstag。这包括 :tag、Ctrl-] 及 vim -t。
"结果是一般的 tag 命令不仅搜索由 ctags 产生的标签文 件,同时也搜索 cscope 数据库,但是好像有bug,二者共存时有的无法搜索
if has("cscope")
set csprg=/usr/bin/cscope
" Use both cscope and ctag
set cscopetag
" Show msg when cscope db added
set cscopeverbose
" Use cscope for definition search first
set cscopetagorder=0
endif
nmap <C-_>s :cs find s <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>g :cs find g <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>c :cs find c <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>t :cs find t <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>e :cs find e <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>f :cs find f <C-R>=expand("<cfile>")<CR><CR>
nmap <C-_>i :cs find i ^<C-R>=expand("<cfile>")<CR>{1}lt;CR>
nmap <C-_>d :cs find d <C-R>=expand("<cword>")<CR><CR>
" 解决cscope与tag共存时ctrl+]有时不正常的bug
nmap <C-]> :tj <C-R>=expand("<cword>")<CR><CR>
" VimTip 329: A map for swapping words
" http://vim.sourceforge.net/tip_view.php?tip_id=
" Then when you put the cursor on or in a word, press "\sw", and
" the word will be swapped with the next word.  The words may
" even be separated by punctuation (such as "abc = def").
nnoremap <unique> <silent><leader>sw "_yiw:s/\(\%#\w\+\)\(\W\+\)\(\w\+\)/\3\2\1/<cr><c-o>
" Disable AutoComplPop.
let g:acp_enableAtStartup = 0
" Use neocomplcache.
let g:neocomplcache_enable_at_startup = 1
" Use smartcase.
let g:neocomplcache_enable_smart_case = 1
" Use camel case completion.
let g:neocomplcache_enable_camel_case_completion = 1
" Use underbar completion.
let g:neocomplcache_enable_underbar_completion = 1
" Set minimum syntax keyword length.
let g:neocomplcache_min_syntax_length = 3
let g:neocomplcache_lock_buffer_name_pattern = '\*ku\*'
let g:neocomplcache_enable_ignore_case = 0
" Define dictionary.
let g:neocomplcache_dictionary_filetype_lists = {
\ 'default' : '',
\ 'vimshell' : $HOME.'/.vimshell_hist',
\ 'scheme' : $HOME.'/.gosh_completions'
\ }
" Define keyword.
if !exists('g:neocomplcache_keyword_patterns')
let g:neocomplcache_keyword_patterns = {}
endif
let g:neocomplcache_keyword_patterns['default'] = '\h\w*'
" Recommended key-mappings.
" <CR>: close popup and save indent.
inoremap <expr><CR>  neocomplcache#smart_close_popup() . "\<CR>"
" <TAB>: completion.
"inoremap <expr><TAB>  pumvisible() ? "\<C-n>" : "\<TAB>"
" <C-h>, <BS>: close popup and delete backword char.
inoremap <expr><C-h> neocomplcache#smart_close_popup()."\<C-h>"
inoremap <expr><BS> neocomplcache#smart_close_popup()."\<C-h>"
inoremap <expr><C-y>  neocomplcache#close_popup()
inoremap <expr><C-e>  neocomplcache#cancel_popup()
"Fast remove highlight search
nmap <silent> <leader><cr> :noh<cr>
" 每行超过80个的字符用下划线标示
au BufRead,BufNewFile *.asm,*.c,*.cpp,*.java,*.cs,*.sh,*.lua,*.pl,*.pm,*.py,*.rb,*.hs,*.vim 2match Underlined /.\%81v/
" 超过80个的字符高亮
"au BufWinEnter * let w:m1=matchadd('Search', '\%<88v.\%>81v', -1)
"au BufWinEnter * let w:m2=matchadd('ErrorMsg', '\%>80v.\+', -1)
"高亮显示txt 需要txt.vim
au BufRead,BufNewFile * setfiletype txt
" Restore the last quit position when open file.
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("{1}quot;) |
\     exe "normal g'\"" |
\ endif
" 自动更新最后修改时间
function! AutoUpdateTheLastUpdateInfo()
let s:original_pos = getpos(".")
let s:regexp = "^\\s*\\([#\\\"\\*]\\|\\/\\/\\)\\s\\?[lL]ast \\([uU]pdate\\|[cC]hange\\):"
let s:lu = search(s:regexp)
if s:lu != 0
let s:update_str = matchstr(getline(s:lu), s:regexp)
call setline(s:lu, s:update_str . strftime("%Y-%m-%d %H:%M:%S", localtime()))
call setpos(".", s:original_pos)
endif
endfunction
autocmd BufWritePost *.{h,hpp,c,cpp} call AutoUpdateTheLastUpdateInfo()
autocmd BufNewFile *.{h,hpp,c,cpp} exec 'call append(0, "\/\/ Last Update:" . strftime("%Y-%m-%d %H:%M:%S", localtime()))'
已经放到github上了地址是,以后将不再更新此贴,最新的可到git上查看
https://github.com/tczengming/myvim/
希望能给大家做一个参考。插件用bundle (也有人叫vundle)管理的,推荐大家使用bundle,插件安装升级很方便
只要一个vimrc
先安装bundle
git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
然后可下载我的.vimrc替换你的.vimrc
git clonehttps://github.com/tczengming/myvim.git
下载后用myvim/myvimrc替换你的.vimrc (可自行修改其内容)
然后在vim中执行
BundleInstall! 就可以自动地更新安装插件,不用再手动去网上一个个下最新包了。
 缷载插件 :BundleClean
Janus: Vim Distribution
This is a distribution of plug-ins and mappings for Vim, Gvim and MacVim.
It is designed to provide minimal working environment using the most popular plug-ins and the most common mappings.
The distribution is completely customisable using a ~/.vimrc.before and ~/.vimrc.after Vim RC files.