gvim的配置文件

" All system-wide defaults are set in $VIMRUNTIME/debian.vim (usually just
" /usr/share/vim/vimcurrent/debian.vim) and sourced by the call to :runtime
" you can find below.  If you wish to change any of those settings, you should
" do it in this file (/etc/vim/vimrc), since debian.vim will be overwritten
" everytime an upgrade of the vim packages is performed.  It is recommended to
" make changes after sourcing debian.vim since it alters the value of the
" 'compatible' option.

" This line should not be removed as it ensures that various options are
" properly set to work with the Vim-related packages available in Debian.
runtime! debian.vim

" Uncomment the next line to make Vim more Vi-compatible
" NOTE: debian.vim sets 'nocompatible'.  Setting 'compatible' changes numerous
" options, so any other options should be set AFTER setting 'compatible'.
"set compatible

" Vim5 and later versions support syntax highlighting. Uncommenting the next
" line enables syntax highlighting by default.
if has("syntax")
  syntax on
endif

" If using a dark background within the editing area and syntax highlighting
" turn on this option as well
"set background=dark

" Uncomment the following to have Vim jump to the last position when
" reopening a file
"if has("autocmd")
"  au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("{1}quot;) | exe "normal! g'\"" | endif
"endif

" Uncomment the following to have Vim load indentation rules and plugins
" according to the detected filetype.
"if has("autocmd")
"  filetype plugin indent on
"endif

" The following are commented out as they cause vim to behave a lot
" differently from regular Vi. They are highly recommended though.
"set showcmd		" Show (partial) command in status line.
"set showmatch		" Show matching brackets.
"set ignorecase		" Do case insensitive matching
"set smartcase		" Do smart case matching
"set incsearch		" Incremental search
"set autowrite		" Automatically save before commands like :next and :make
"set hidden             " Hide buffers when they are abandoned
"set mouse=a		" Enable mouse usage (all modes)

" Source a global configuration file if available
if filereadable("/etc/vim/vimrc.local")
  source /etc/vim/vimrc.local
endif

let Tlist_Ctags_Cmd='ctags'

set nu
syntax on
colorscheme desert
set tabstop=4
set ai
set smartindent
set ignorecase
set showcmd
map Q gq

if &t_Co>2||has("gui_running")
		syntax on
		set hlsearch
		endif

filetype plugin indent on
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
if(has("win32") || has("win95") || has("win64") || has("win16"))
		    let g:vimrc_iswindows=1
	else
			    let g:vimrc_iswindows=0
		endif
		autocmd BufEnter * lcd %:p:h


"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""


map <F12> :call Do_CsTag()<CR>
nmap <C-@>s :cs find s <C-R>=expand("<cword>")<CR><CR>:copen<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>:copen<CR>
nmap <C-@>t :cs find t <C-R>=expand("<cword>")<CR><CR>:copen<CR>
nmap <C-@>e :cs find e <C-R>=expand("<cword>")<CR><CR>:copen<CR>
nmap <C-@>f :cs find f <C-R>=expand("<cfile>")<CR><CR>:copen<CR>
nmap <C-@>i :cs find i ^<C-R>=expand("<cfile>")<CR>{1}lt;CR>:copen<CR>
nmap <C-@>d :cs find d <C-R>=expand("<cword>")<CR><CR>:copen<CR>
function Do_CsTag()
		    let dir = getcwd()
			    if filereadable("tags")
        if(g:iswindows==1)
  let tagsdeleted=delete(dir."\\"."tags")
   else
  let tagsdeleted=delete("./"."tags")
  endif
 if(tagsdeleted!=0)
  echohl WarningMsg | echo "Fail to do tags! I cannot delete the tags" | echohl None
 return
   endif
  endif
   if has("cscope")
 silent! execute "cs kill -1"
  endif
  if filereadable("cscope.files")
  if(g:iswindows==1)
 let csfilesdeleted=delete(dir."\\"."cscope.files")
 else
  let csfilesdeleted=delete("./"."cscope.files")
  endif
  if(csfilesdeleted!=0)
     echohl WarningMsg | echo "Fail to do cscope! I cannot delete the cscope.files" | echohl None
  return
   endif
  endif
   if filereadable("cscope.out")
     if(g:iswindows==1)
  let csoutdeleted=delete(dir."\\"."cscope.out")
    else
      let csoutdeleted=delete("./"."cscope.out")
     endif
     if(csoutdeleted!=0)
  echohl WarningMsg | echo "Fail to do cscope! I cannot delete the cscope.out" | echohl None
  return
 endif
   endif
 if(executable('ctags'))
 "silent!
"execute
""!ctags
	-R --c-types=+p --fields=+S *"
  silent! execute "!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q ."
   endif
   if(executable('cscope') && has("cscope") )
   if(g:iswindows!=1)
   silent! execute "!find . -name '*.h' -o -name '*.c' -o -name '*.cpp' -o -name '*.java' -o -name '*.cs' > cscope.files"
    else
  silent! execute "!dir /s/b *.c,*.cpp,*.h,*.java,*.cs >> cscope.files"
    endif
  silent! execute "!cscope -b"
  execute "normal :"
   if filereadable("cscope.out")
  execute "cs add cscope.out"
    endif
   endif
 endfunction
"进行Tlist的设置
""TlistUpdate可以更新tags"
map <F3> :silent! Tlist<CR>
let Tlist_Ctags_Cmd='ctags' "因为我们放在环境变量里,所以可以直接执行
let Tlist_Use_Right_Window=1 "让窗口显示在右边,0的话就是显示在左边
let Tlist_Show_One_File=0 "让taglist可以同时展示多个文件的函数列表,如果想只有1个,设置为1
let Tlist_File_Fold_Auto_Close=1 "非当前文件,函数列表折叠隐藏
let Tlist_Exit_OnlyWindow=1 "当taglist是最后一个分割窗口时,自动推出vim
"是否一直处理tags.1:处理;0:不处理
let Tlist_Process_File_Always=0 "不是一直实时更新tags,因为没有必要
"let Tlist_Inc_Winwidth=

set go=""


" configure tags - add additional tags here or comment out not-used ones
set tags+=~/.vim/tags/cpp
set tags+=~/.vim/tags/gl
set tags+=~/.vim/tags/fl
" build tags of your own project with CTRL+F12
map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
" OmniCppComplete
let OmniCpp_NamespaceSearch = 1
let OmniCpp_GlobalScopeSearch = 1
let OmniCpp_ShowAccess = 1
let OmniCpp_ShowPrototypeInAbbr = 1 " show function parameters
let OmniCpp_MayCompleteDot = 1 " autocomplete after .
let OmniCpp_MayCompleteArrow = 1 " autocomplete after ->
let OmniCpp_MayCompleteScope = 1 " autocomplete after ::
let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"]
" automatically open and close the popup menu / preview window
au CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif
set completeopt=menuone,menu,longest,preview

" mapping
inoremap <expr> <CR>       pumvisible()?"\<C-Y>":"\<CR>"
inoremap <expr> <C-J>      pumvisible()?"\<PageDown>\<C-N>\<C-P>":"\<C-X><C-O>"
inoremap <expr> <C-K>      pumvisible()?"\<PageUp>\<C-P>\<C-N>":"\<C-K>"
inoremap <expr> <C-U>      pumvisible()?"\<C-E>":"\<C-U>"

filetype plugin indent on

if has("gui_running")
set guifont=Courier\ New\ 12
endif

备份一下,以备不时之需。
发布了32 篇原创文章 · 获赞 6 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/scutth/article/details/6937178