Vim安装youcompleteme自动补全插件

企鹅博客
企鹅博客
企鹅博客
25193
文章
0
评论
2020年10月7日13:47:15 评论 17 views 2448字阅读8分9秒

本文介绍的是如何在Vim中安装youcompleteme自动补全插件

一、安装youcompleteme

打开文件~/.vimrc
添加下面一行代码

Bundle 'Valloric/YouCompleteMe'

保存退出,打开一个vim新文件,执行以下代码

:BundleInstall

进行安装vim插件

二、编译youcompleteme插件

安装完后,编译youcompleteme
进入文件夹~/.vim/bundle/YouCompleteMe/

./install.sh --clang-completer

更多语言的补全请参照youcompleteme github

三、配置youcompleteme插件

vim ~/.vimrc

添加以下代码

"YouCompleteMe智能补全工具 let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py' " 不显示开启vim时检查ycm_extra_conf文件的信息
let g:ycm_confirm_extra_conf = 0
" 开启基于tag的补全,可以在这之后添加需要的标签路径 let g:ycm_collect_identifiers_from_tags_files = 1 " 开启语义补全
let g:ycm_seed_identifiers_with_syntax = 1
"注释和字符串中的文字也会被收入补全 let g:ycm_collect_identifiers_from_comments_and_strings = 0 " 输入第 2 个字符开始补全
let g:ycm_min_num_of_chars_for_completion= 2
" 禁止缓存匹配项,每次都重新生成匹配项 let g:ycm_cache_omnifunc=0 "在注释输入中也能补全
let g:ycm_complete_in_comments = 1
"在字符串输入中也能补全 let g:ycm_complete_in_strings = 1 "定义快捷健补全
let g:ycm_key_list_select_completion = ['<c-n>', '<Down>']
let g:ycm_key_list_previous_completion = ['<c-p>', '<Up>']
" 设置在下面几种格式的文件上屏蔽ycm let g:ycm_filetype_blacklist = { \ 'tagbar' : 1, \ 'qf' : 1, \ 'notes' : 1, \ 'markdown' : 1, \ 'unite' : 1, \ 'text' : 1, \ 'vimwiki' : 1, \ 'pandoc' : 1, \ 'infolog' : 1, \ 'mail' : 1 \} "设置关健字触发补全
let g:ycm_semantic_triggers =  {
  \   'c' : ['->', '.', ' ', '(', '[', '&'],
  \   'objc' : ['->', '.', 're!\[[_a-zA-Z]+\w*\s', 're!^\s*[^\W\d]\w*\s',
  \             're!\[.*\]\s'],
  \   'ocaml' : ['.', '#'],
  \   'cpp,objcpp' : ['->', '.', '::'],
  \   'perl' : ['->'],
  \   'php' : ['->', '::'],
  \   'cs,java,javascript,typescript,d,python,perl6,scala,vb,elixir,go' : ['.'],
  \   'ruby' : ['.', '::'],
  \   'lua' : ['.', ':'],
  \   'erlang' : [':'],
  \ }
let g:ycm_cache_omnifunc = 1
let g:ycm_use_ultisnips_completer = 1
"定义函数跟踪快捷健 nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR>

四、补全js代码

安装tern_for_vim插件

vim ~/.vimrc

Plugin 'marijnh/tern_for_vim'

新建一个vim文件,执行以下代码

:PligunInstall

配置tern_for_vim

cd ~/.vim/bundle/tern_for_vim
npm install

在项目中补全js代码
在项目根目录下添加文件.tern_project



 { "libs": [ "browser", "underscore", "jquery" ], "plugins": { } } 
在plugin中可以加入node或者angular等关键字,加载该库的补全功能。如下:
    "plugins": {

      "node": {}

    }

保存退出,然后打开项目中的js文件就可以使用代码补全了

更多Vim相关教程见以下内容

Vim 8.0 释出  http://www.linuxidc.com/Linux/2016-09/135178.htm

Vim学习指南 http://www.linuxidc.com/Linux/2013-08/89096.htm

Vim编辑器配置 http://www.linuxidc.com/Linux/2016-09/135460.htm

Vim编辑器使用 http://www.linuxidc.com/Linux/2016-09/135043.htm

快速学会 Vi编辑器 http://www.linuxidc.com/Linux/2013-08/88586.htm

强大的Vim 编辑器 http://www.linuxidc.com/Linux/2013-07/87544.htm

Linux文本编辑器Vim的一般用法  http://www.linuxidc.com/Linux/2016-11/137263.htm

把Vim打造成优秀的C++ IDE  http://www.linuxidc.com/Linux/2016-06/132262.htm

继续阅读
Git 分支的创建、合并、管理和删除 Linux教程

Git 分支的创建、合并、管理和删除

几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录的完整副本,对大...
RedHat 6.2 Linux修改yum源免费使用CentOS源 Linux教程

RedHat 6.2 Linux修改yum源免费使用CentOS源

在没有光盘的情况,需要安装软件包,就要用到共网的yum源来安装了。 RedHat linux 默认是安装了yum软件的,但是由于激活认证的原因让redhat无法直接进行yum安装一些软件,如果我们需要...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: