Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1063753
  • 博文数量: 77
  • 博客积分: 821
  • 博客等级: 军士长
  • 技术积分: 1905
  • 用 户 组: 普通用户
  • 注册时间: 2011-10-23 16:17
个人简介

学校:上海交通大学软件工程 学历:硕士 行业:从事流媒体移动开发 QQ: 412595942 邮箱:yiikai1987910@gmail.com

文章分类

全部博文(77)

文章存档

2016年(4)

2015年(15)

2014年(16)

2013年(12)

2012年(21)

2011年(9)

分类: LINUX

2015-10-28 15:54:41

    最近换机器了 , 重新配置了下我的vim, 好多问题,这里简单的记录一下:
    机器(ubuntu)
    现在有个Vundle (插神),必备神器,网上安装教程很多,这里就不赘述了,可以参考http://blog.csdn.net/u014787464/article/details/41007003 很详细.
   这里主要说下YCM的配置,有了这个什么ctags ,cscope 都可以让他们见鬼去了
   参考上面链接的方法,很容易配置,主要有两个问题,我在编译YCM的时候,总是不出现自动补齐,而且总是在vim中爆出server shudown 的错误提示,查了原因原来是我的libclang的版本不对导致的, 一开始我是从网上下载的libclang.so, 但是依旧有这个问题,随后我就直接aptget安装了一个libclang3.6版本的,然后重新编译YCM, OK了。
   第二个问题就是跳转,我的vimrc文件中我配置了跳转指令,只要打个jd就可以了,需要的朋友可以参考我的vimrc配置
  

点击(此处)折叠或打开

  1. set nocompatible " be iMproved
  2. filetype off "
  3.  
  4. set rtp+=~/.vim/bundle/vundle/
  5. call vundle#rc()
  6.  
  7. " let Vundle manage Vundle
  8. "
  9. Bundle 'gmarik/vundle'
  10.  
  11. " My Bundles here:
  12. "
  13. " original repos on github
  14. Bundle 'tpope/vim-fugitive'
  15. Bundle 'Lokaltog/vim-easymotion'
  16. Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
  17. Bundle 'tpope/vim-rails.git'
  18. " vim-scripts repos
  19. Bundle 'L9'
  20. Bundle 'FuzzyFinder'
  21. " non github repos
  22. "Bundle 'git://git.wincent.com/command-t.git'
  23. " ...

  24. "要安装的插件
  25. "PowerLine插件 状态栏增强展示
  26. "Bundle 'Lokaltog/vim-powerline'
  27. ""vim有一个状态栏 加上powline则有两个状态栏
  28. set laststatus=2
  29. set t_Co=256
  30. let g:Powline_symbols='fancy'

  31. Bundle 'fholgado/minibufexpl.vim'
  32. let g:miniBufExplMapWindowNavVim = 1
  33. let g:miniBufExplMapWindowNavArrows = 1
  34. let g:miniBufExplMapCTabSwitchBufs = 1
  35. let g:miniBufExplModSelTarget = 1
  36. let g:miniBufExplMoreThanOne=0
  37. map <F11> :MBEbp<CR>
  38. map <F12> :MBEbn<CR>

  39. Bundle 'Valloric/YouCompleteMe'
  40. let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
  41. let g:ycm_path_to_python_interpreter = '/usr/bin/python'
  42. let g:ycm_confirm_extra_conf=0
  43. set completeopt=longest,menu    "让Vim的补全菜单行为与一般IDE一致(参考VimTip1228)
  44. autocmd InsertLeave * if pumvisible() == 0|pclose|endif    "离开插入模式后自动关闭预览窗口
  45. inoremap <expr> <CR> pumvisible() ? "\" : "\"
  46. "上下左右键的行为 会显示其他信息
  47. inoremap pumvisible() ? "\<C-n>" : "\<Down>"
  48. inoremap pumvisible() ? "\<C-p>" : "\<Up>"
  49. inoremap pumvisible() ? "\<PageDown>\<C-p>\<C-n>" :"\<PageDown>"
  50. inoremap pumvisible() ? "\<PageUp>\<C-p>\<C-n>" : "\<PageUp>"

  51. "youcompleteme 默认tab s-tab 和自动补全冲突
  52. ""let g:ycm_key_list_select_completion=['<c-n>']
  53. let g:ycm_key_list_select_completion = ['<Down>']
  54. ""let g:ycm_key_list_previous_completion=['<c-p>']
  55. let g:ycm_key_list_previous_completion = ['<Up>']
  56. let g:ycm_confirm_extra_conf=0 "关闭加载.ycm_extra_conf.py提示
  57. "
  58. let g:ycm_collect_identifiers_from_tags_files=1    " 开启 YCM
  59. "基于标签引擎
  60. let g:ycm_min_num_of_chars_for_completion=2    
  61. "从第2个键入字符就开始罗列匹配项
  62. let g:ycm_cache_omnifunc=0    " 禁止缓存匹配项,每次都重新生成匹配项
  63. let g:ycm_seed_identifiers_with_syntax=1    " 语法关键字补全
  64. "nnoremap <F5> :YcmForceCompileAndDiagnostics<CR>    "force recomile with
  65. "syntastic
  66. ""nnoremap <leader>lo :lopen<CR>    "open locationlist
  67. "nnoremap <leader>lc :lclose<CR>    "close locationlist
  68. "inoremap <leader><leader> <C-x><C-o>
  69. ""在注释输入中也能补全
  70. let g:ycm_complete_in_comments = 1
  71. "在字符串输入中也能补全
  72. let g:ycm_complete_in_strings = 1
  73. ""注释和字符串中的文字也会被收入补全
  74. let g:ycm_collect_identifiers_from_comments_and_strings = 0
  75. nnoremap jd :YcmCompleter GoToDefinitionElseDeclaration

  76. Bundle 'vim-scripts/a.vim'


  77. Bundle 'taglist.vim'
  78. let Tlist_Ctags_Cmd='ctags'
  79. let Tlist_Show_One_File=1 "不同时显示多个文件的tag,只显示当前文件的
  80. let Tlist_WinWidt =28    "设置taglist的宽度
  81. let Tlist_Exit_OnlyWindow=1 "如果taglist窗口是最后一个窗口,则退出vim
  82. "let Tlist_Use_Right_Window=1 "在右侧窗口中显示taglist窗口
  83. let Tlist_Use_Left_Windo =1 "在左侧窗口中显示taglist窗口

  84. Bundle 'scrooloose/nerdtree'
  85. let NERDTreeWinPos='right'
  86. let NERDTreeWinSize=30
  87. map :NERDTreeToggle

  88. Bundle 'octol/vim-cpp-enhanced-highlight'
  89. let g:cpp_class_scope_highlight = 1
  90. let g:cpp_experimental_template_highlight = 1

  91. Bundle 'Lokaltog/vim-powerline'
  92. set laststatus=2
  93. Bundle 'winmanager'
  94. let g:winManagerWindowLayout = "TagList|FileExplorer,BufExplorer"
  95. let g:winManagerWidth = 30
  96. nmap wm :WMToggle

  97. filetype plugin indent on "
  98. "
  99. " Brief help -- 此处后面都是vundle的使用命令
  100. " :BundleList - list configured bundles
  101. " :BundleInstall(!) - install(update) bundles
  102. " :BundleSearch(!) foo - search(or refresh cache first) for foo
  103. " :BundleClean(!) - confirm(or auto-approve) removal of unused bundles
  104. "
  105. " see :h vundle for more details or wiki for FAQ
GitHub:   

好了,工具配好继续工作


阅读(2017) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~