Guest User

Untitled

a guest
Dec 17th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.81 KB | None | 0 0
  1. set nocompatible " 去除VI一致性,必须要添加
  2. filetype off " 必须要添加
  3.  
  4. set tabstop=4
  5. set shiftwidth=4
  6. set softtabstop=4
  7. set expandtab
  8.  
  9. set hlsearch
  10. set rtp+=~/.vim/bundle/Vundle.vim
  11.  
  12. map fw :!grep -rnw <cword><CR>
  13.  
  14. "vundle管理
  15. call vundle#begin()
  16.  
  17. Plugin 'VundleVim/Vundle.vim'
  18. Plugin 'scrooloose/nerdtree'
  19. Plugin 'taglist.vim'
  20. Plugin 'ludovicchabant/vim-gutentags'
  21. Plugin 'Raimondi/delimitMate'
  22. Plugin 'scrooloose/nerdcommenter'
  23. Plugin 'mhinz/vim-signify'
  24. Plugin 'Yggdroot/LeaderF'
  25. Plugin 'Valloric/YouCompleteMe'
  26.  
  27. call vundle#end()
  28.  
  29. filetype plugin indent on
  30.  
  31. set tags=./.tags;,.tags
  32.  
  33. "Tag list
  34. let Tlist_Auto_Highlight_Tag = 1
  35. let Tlist_Use_Right_Window = 1
  36. let Tlist_Show_One_File = 1
  37.  
  38. map <silent> <F9> :TlistToggle<cr>
  39.  
  40. "Nerd Tree
  41. map <silent> <F10> :NERDTreeToggle<cr>
  42. map <silent> ff :NERDTreeFind<cr>
  43.  
  44. " gutentags 搜索工程目录的标志,碰到这些文件/目录名就停止向上一级目录递归
  45. let g:gutentags_project_root = ['.root', '.svn', '.git', '.hg', '.project']
  46.  
  47. " 所生成的数据文件的名称
  48. let g:gutentags_ctags_tagfile = '.tags'
  49.  
  50. " 将自动生成的 tags 文件全部放入 ~/.cache/tags 目录中,避免污染工程目录
  51. let s:vim_tags = expand('~/.cache/tags')
  52. let g:gutentags_cache_dir = s:vim_tags
  53.  
  54. " 配置 ctags 的参数
  55. let g:gutentags_ctags_extra_args = ['--fields=+niazS', '--extra=+q']
  56. let g:gutentags_ctags_extra_args += ['--c++-kinds=+px']
  57. let g:gutentags_ctags_extra_args += ['--c-kinds=+px']
  58.  
  59. " 检测 ~/.cache/tags 不存在就新建
  60. if !isdirectory(s:vim_tags)
  61. silent! call mkdir(s:vim_tags, 'p')
  62. endif
  63.  
  64. let g:Lf_ShortcutF = '<c-f>'
  65. let g:Lf_ShortcutB = '<m-n>'
  66. noremap <c-n> :LeaderfMru<cr>
  67. noremap <c-f> :LeaderfFunction!<cr>
  68. noremap <m-n> :LeaderfBuffer<cr>
  69. noremap <m-m> :LeaderfTag<cr>
  70. let g:Lf_StlSeparator = { 'left': '', 'right': '', 'font': '' }
  71.  
  72. let g:Lf_RootMarkers = ['.project', '.root', '.svn', '.git']
  73. let g:Lf_WorkingDirectoryMode = 'Ac'
  74. let g:Lf_WindowHeight = 0.30
  75. let g:Lf_CacheDirectory = expand('~/.vim/cache')
  76. let g:Lf_ShowRelativePath = 0
  77. let g:Lf_HideHelp = 1
  78. let g:Lf_StlColorscheme = 'powerline'
  79. let g:Lf_PreviewResult = {'Function':0, 'BufTag':0}
  80.  
  81. " YCM
  82. let g:ycm_add_preview_to_completeopt = 0
  83. let g:ycm_show_diagnostics_ui = 0
  84. let g:ycm_server_log_level = 'info'
  85. let g:ycm_min_num_identifier_candidate_chars = 2
  86. let g:ycm_collect_identifiers_from_comments_and_strings = 1
  87. let g:ycm_complete_in_strings=1
  88. let g:ycm_key_invoke_completion = '<c-z>'
  89. nnoremap <leader>y :let g:ycm_auto_trigger=0<CR> " turn off YCM
  90. nnoremap <leader>Y :let g:ycm_auto_trigger=1<CR> "turn on YCM
  91. let g:ycm_confirm_extra_conf = 0
  92. set completeopt=menu,menuone
  93.  
  94. noremap <c-z> <NOP>
  95. let g:ycm_semantic_triggers = {
  96. \ 'c,cpp,python,java,go,erlang,perl': ['re!\w{2}'],
  97. \ 'cs,lua,javascript': ['re!\w{2}'],
  98. \ }
Add Comment
Please, Sign In to add comment