加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

VIM安装YCM插件

发布时间:2020-12-15 23:11:13 所属栏目:安全 来源:网络整理
导读:折腾了两天,终于好了 1。配置VIM (1)下载相关插件 sudo apt- get install gitsudo apt - get install build-essential cmake ??sudoapt-get?installlibncurses5-dev libgnome2-dev libgnomeui-dev ???? libgtk2.0-dev libatk1.0-dev libbonoboui2-dev

折腾了两天,终于好了

1。配置VIM

  (1)下载相关插件

sudo apt-get install git
sudo apt-get install build-essential cmake

??sudoapt-get?installlibncurses5-dev libgnome2-dev libgnomeui-dev
???? libgtk2.0-dev libatk1.0-dev libbonoboui2-dev
???? libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev
???? python3-dev ruby-dev lua5.1 liblua5.1-dev libperl-dev git

   (2)安装支持python的VIM

  首先保证VIM已经卸载

sudo apt-get remove vim vim-runtime gvim
sudo apt-get remove vim-tiny vim-common vim-gui-common vim-nox

  然后下载并配置编译,注意路径和自己的匹配

cd ~
git clone https://github.com/vim/vim.git
cd vim
./configure --with-features=huge             --enable-multibyte             --enable-rubyinterp=yes             --enable-pythoninterp=yes             --with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu             --enable-python3interp=yes             --with-python3-config-dir=/usr/lib/python3.5/config-3.5m-x86_64_linux-gnu             --enable-perlinterp=yes             --enable-luainterp=yes             --enable-gui=gtk2 --enable-cscope --prefix=/usr
make VIMRUNTIMEDIR=/usr/share/vim/vim81

  安装

cd ~/vim
sudo make install

  安装完后测试VIM是否支持python

    命令模式下输入:echo has("python") || has("python3"),结果是1就代表成功了。

     vim --version | grep python显示的python前面确实是加号。

?

2。安装VIM插件管理工具 pathogen

mkdir -p ~/.vim/autoload ~/.vim/bundle && 
curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim

  在.vimrc中添加

execute pathogen#infect()
syntax on
filetype plugin indent on

  这时~/.vim的目录结构如下

├── autoload
│   └── pathogen.vim
└── bundle

  autoload存放的pathogen.vim是一个插件(插件的就是一个脚本),.vim中 execute pathogen#infect() 会调用 pathogen.vim,

  pathogen.vim会调用 bundle中的插件。

  我们接下来需要做的就是把需要安装的插件放到 bundle目录下。

?

3. 下载并安装YCM

  (1)下载YCM到bundle目录下

git clone --recursive git://github.com/Valloric/YouCompleteMe ~/.vim/bundle

    如果执行该命令没报错,就ok了. 但是中途有可能会断掉,可以 cd 到 YouCompleteMe,然后反复用如下命令再次进行下载:

git submodule update --init --recursive

    YCM大概有229M

    使用如下命令查看YCM大小

du -sh ~/.vim/bundle/YouCompleteMe

  (2)安装YCM

./install.py --clang-completer

  这个指令只适合64位系统,32位的需要自己下载clang并编译(很麻烦)。

?

4. 配置YCM

  .vimrc中输入

" YouCompleteMe
let g:ycm_collect_identifiers_from_tags_files = 1           " 开启 YCM 基于标签引擎
let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注释与字符串中的内容也用于补全
let g:syntastic_ignore_files=[".*.py$"]
let g:ycm_seed_identifiers_with_syntax = 1                  " 语法关键字补全
let g:ycm_complete_in_comments = 1
let g:ycm_confirm_extra_conf = 0
let g:ycm_key_list_select_completion = [<c-n>,<Down>]  " 映射按键,没有这个会拦截掉tab,导致其他插件的tab不能用.
let g:ycm_key_list_previous_completion = [<c-p>,<Up>]
let g:ycm_complete_in_comments = 1                          " 在注释输入中也能补全
let g:ycm_complete_in_strings = 1                           " 在字符串输入中也能补全
let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注释和字符串中的文字也会被收入补全
let g:ycm_global_ycm_extra_conf=~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py
let g:ycm_show_diagnostics_ui = 0                           " 禁用语法检查
inoremap <expr> <CR> pumvisible() ? "&;C-y>" : "&;CR>" |            " 回车即选中当前项
nnoremap <c-j> :YcmCompleter GoToDefinitionElseDeclaration<CR>|     " 跳转到定义处
"let g:ycm_min_num_of_chars_for_completion=2                 " 从第2个键入字符就开始罗列匹配项

  注意这句:

let g:ycm_global_ycm_extra_conf=~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py

  这里需要创建 .ycm_extra_conf.py,并输入

flags = [
-Wall,-Wextra,-Werror,-Wno-long-long,-Wno-variadic-macros,-fexceptions,-DNDEBUG,-std=c99,-x,c,-I,/usr/include,-isystem,/usr/lib/gcc/x86_64-linux-gnu/5/include,/usr/include/x86_64-linux-gnu,-isystem
/usr/include/c++/5,/usr/include/c++/5/bits
]
def FlagsForFile(filename):
    return {flags: flags}

  到此 YCM 可用。

?

  此外.ycm_extra_conf.py很重要,可以参考这个文档:https://github.com/Valloric/YouCompleteMe#option-2-provide-the-flags-manually

?

参考博客:

https://www.cnblogs.com/Harley-Quinn/p/6418070.html

https://blog.csdn.net/andre617/article/details/53496490#%E8%84%9A%E6%B3%A8

https://github.com/Valloric/YouCompleteMe/issues/2901

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读