MAC系统打造基于VIM的IDE

匿名 (未验证) 提交于 2019-12-02 22:56:40

1 背景

2 将VIM打造成IDE

2.1 CTags插件

2.2 CScope插件

2.3 nerdtree插件


 

2.4 YouCompleteMe插件

a. vim一定要是最新版,mac系统自带的vim可能有问题,可以通过brew来安装一个最新的macvim。

b. vim必须要支持python脚本,打开vim,在命令模式下输入 echo has('python') || has('python3'),如果输出1,则可以继续往下了。

c. 系统要安装cmake,如果没有cmake,用brew安装。

d. 系统要安装python-dev,mac默认已经带了这个。

http://releases.llvm.org/download.html。选择最新版的CLang For macOS。

 cmake -G "<generator>" -DPATH_TO_LLVM_ROOT=~/ycm_temp/clang-llvm . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp

 cmake --build . --target ycm_core --config Release

  " #####YouCompleteMe Configure    let g:ycm_server_python_interpreter='/usr/bin/python' let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/third_party/ycmd/examples/.ycm_extra_conf.py'   " 自动补全配置   set completeopt=longest,menu    "让Vim的补全菜单行为与一般IDE一致(参考VimTip1228)   autocmd InsertLeave * if pumvisible() == 0|pclose|endif "离开插入模式后自动关闭预览窗口   inoremap <expr> <CR>       pumvisible() ? "\<C-y>" : "\<CR>"      "上下左右键的行为 会显示其他信息   "inoremap <expr> <Down>     pumvisible() ? "\<C-n>" : "\<Down>"   "inoremap <expr> <Up>       pumvisible() ? "\<C-p>" : "\<Up>"   "inoremap <expr> <PageDown> pumvisible() ? "\<PageDown>\<C-p>\<C-n>" : "\<PageDown>"   "inoremap <expr> <PageUp>   pumvisible() ? "\<PageUp>\<C-p>\<C-n>" : "\<PageUp>"    "youcompleteme  默认tab  s-tab 和自动补全冲突   "let g:ycm_key_list_select_completion=['<c-n>']   let g:ycm_key_list_select_completion = ['<Down>']   "let g:ycm_key_list_previous_completion=['<c-p>']   let g:ycm_key_list_previous_completion = ['<Up>']   let g:ycm_confirm_extra_conf=0 "关闭加载.ycm_extra_conf.py提示    let g:ycm_collect_identifiers_from_tags_files=1 " 开启 YCM 基于标签引擎   let g:ycm_min_num_of_chars_for_completion=2 " 从第2个键入字符就开始罗列匹配项   let g:ycm_cache_omnifunc=0  " 禁止缓存匹配项,每次都重新生成匹配项   let g:ycm_seed_identifiers_with_syntax=1    " 语法关键字补全   nnoremap <F5> :YcmForceCompileAndDiagnostics<CR>     "nnoremap <leader>lo :lopen<CR> "open locationlist   "nnoremap <leader>lc :lclose<CR>    "close locationlist   inoremap <leader><leader> <C-x><C-o>   "在注释输入中也能补全   let g:ycm_complete_in_comments = 1   "在字符串输入中也能补全   let g:ycm_complete_in_strings = 1   "注释和字符串中的文字也会被收入补全   let g:ycm_collect_identifiers_from_comments_and_strings = 0   let g:clang_user_options='|| exit 0'   "nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR> " 跳转到定义处   " #####YouCompleteMe Configure  

 echo | clang -v -E -x c++ -

https://blog.csdn.net/chenyyhh92/article/details/52464101/

https://github.com/Valloric/YouCompleteMe#mac-os-x

https://github.com/Valloric/YouCompleteMe#full-installation-guide

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!