Last active
April 28, 2019 08:34
-
-
Save hgkmail/d0b7bcd3d3fe34517d3552a73f5e3dbc to your computer and use it in GitHub Desktop.
My .vimrc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set nocompatible " be iMproved, required | |
filetype off " required | |
" set the runtime path to include Vundle and initialize | |
set rtp+=~/.vim/bundle/Vundle.vim | |
call vundle#begin() | |
" alternatively, pass a path where Vundle should install plugins | |
"call vundle#begin('~/some/path/here') | |
" let Vundle manage Vundle, required | |
Plugin 'VundleVim/Vundle.vim' | |
" The following are examples of different formats supported. | |
" Keep Plugin commands between vundle#begin/end. | |
" plugin on GitHub repo | |
Plugin 'tpope/vim-fugitive' | |
" plugin from http://vim-scripts.org/vim/scripts.html | |
" Plugin 'L9' | |
" Git plugin not hosted on GitHub | |
" Plugin 'git://git.wincent.com/command-t.git' | |
" git repos on your local machine (i.e. when working on your own plugin) | |
" Plugin 'file:///home/gmarik/path/to/plugin' | |
" The sparkup vim script is in a subdirectory of this repo called vim. | |
" Pass the path to set the runtimepath properly. | |
" Plugin 'rstacruz/sparkup', {'rtp': 'vim/'} | |
" Install L9 and avoid a Naming conflict if you've already installed a | |
" different version somewhere else. | |
" Plugin 'ascenator/L9', {'name': 'newL9'} | |
Plugin 'scrooloose/nerdtree' | |
Plugin 'Valloric/YouCompleteMe' | |
Plugin 'universal-ctags/ctags' | |
Plugin 'taglist.vim' | |
Plugin 'flazz/vim-colorschemes' | |
Plugin 'vhdirk/vim-cmake' | |
Plugin 'rhysd/vim-clang-format' | |
Plugin 'SirVer/ultisnips' | |
Plugin 'honza/vim-snippets' | |
Plugin 'DoxygenToolkit.vim' | |
" All of your Plugins must be added before the following line | |
call vundle#end() " required | |
filetype plugin indent on " required | |
" To ignore plugin indent changes, instead use: | |
"filetype plugin on | |
" | |
" Brief help | |
" :PluginList - lists configured plugins | |
" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate | |
" :PluginSearch foo - searches for foo; append `!` to refresh local cache | |
" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal | |
" | |
" see :h vundle for more details or wiki for FAQ | |
" Put your non-Plugin stuff after this line | |
set hlsearch | |
set nu | |
set ts=4 | |
set expandtab | |
" don't add comment | |
autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o | |
" au FileType c,cpp setlocal comments-=:// comments+=f:// | |
syntax on | |
colorscheme Monokai | |
let g:clang_format#code_style='google' | |
"let g:clang_format#auto_format=1 | |
let g:UltiSnipsExpandTrigger="<leader><tab>" | |
nmap <F5> :NERDTreeMirror<CR> | |
nmap <F5> :NERDTreeToggle<CR> | |
" 寻找全局配置文件 | |
let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py' | |
" 禁用syntastic来对python检查 | |
let g:syntastic_ignore_files=[".*\.py$"] | |
" 使用ctags生成的tags文件 | |
let g:ycm_collect_identifiers_from_tag_files = 1 | |
" 开启语义补全 | |
" 修改对C语言的补全快捷键,默认是CTRL+space,修改为ALT+;未测出效果 | |
"let g:ycm_key_invoke_completion = '<M-;>' | |
" 设置转到定义处的快捷键为ALT+G,未测出效果 | |
"nmap <M-g> :YcmCompleter GoToDefinitionElseDeclaration <C-R>=expand("<cword>")<CR><CR> | |
"关键字补全 | |
"let g:ycm_seed_identifiers_with_syntax = 1 | |
" 在接受补全后不分裂出一个窗口显示接受的项 | |
set completeopt-=preview | |
" 让补全行为与一般的IDE一致 | |
set completeopt=longest,menu | |
" 不显示开启vim时检查ycm_extra_conf文件的信息 | |
let g:ycm_confirm_extra_conf=0 | |
" 每次重新生成匹配项,禁止缓存匹配项 | |
let g:ycm_cache_omnifunc=0 | |
" 在注释中也可以补全 | |
let g:ycm_complete_in_comments=0 | |
" 输入第一个字符就开始补全 | |
let g:ycm_min_num_of_chars_for_completion=2 | |
" 错误标识符 | |
let g:ycm_error_symbol='>>' | |
" 警告标识符 | |
let g:ycm_warning_symbol='>*' | |
" 不查询ultisnips提供的代码模板补全,如果需要,设置成1即可 | |
" let g:ycm_use_ultisnips_completer=0 | |
nnoremap <leader>gl :YcmCompleter GoToDeclaration<CR> | |
nnoremap <leader>gf :YcmCompleter GoToDefinition<CR> | |
nmap <F3> :YcmCompleter GoToDefinitionElseDeclaration<CR> | |
nmap <F4> :YcmDiags<CR> | |
nmap <F6> :TlistToggle<CR> | |
"let g:ycm_semantic_triggers = { 'cpp': [ 're!.' ] } | |
" | |
" doxygen | |
let g:DoxygenToolkit_briefTag_funcName = "yes" | |
let g:DoxygenToolkit_commentType = "C++" | |
let g:DoxygenToolkit_briefTag_pre = "\\brief " | |
let g:DoxygenToolkit_templateParamTag_pre = "\\tparam " | |
let g:DoxygenToolkit_paramTag_pre = "\\param " | |
let g:DoxygenToolkit_returnTag = "\\return " | |
let g:DoxygenToolkit_throwTag_pre = "\\throw " " @exception is also valid | |
let g:DoxygenToolkit_fileTag = "\\file " | |
let g:DoxygenToolkit_dateTag = "\\date " | |
let g:DoxygenToolkit_authorTag = "\\author " | |
let g:DoxygenToolkit_versionTag = "\\version " | |
let g:DoxygenToolkit_blockTag = "\\name " | |
let g:DoxygenToolkit_classTag = "\\class " | |
let g:DoxygenToolkit_authorName = "Kim Huang, [email protected]" | |
let g:doxygen_enhanced_color = 1 | |
let g:DoxygenToolKit_startCommentBlock = "/// " | |
let g:DoxygenToolKit_interCommentBlock = "/// " | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment