ubuntu 18.04下配置YouCompleteMe

安装git

sudo apt-get install git

配置github(可到官网注册)

https://github.com

配置

git config --global user.name “用户名”
git config --global user.email “邮箱”

检查vim的环境

vim --version

1.你的可能vim是7.4.*版本, YouCompleteMe需要Vim 7.4.1578+所以需要升级
2.这里升级安装的是8.0以上的版本

移除旧版本

sudo apt-get remove vim -y

安装必要组件

sudo yum install ncurses-devel python-devel -y

下载源码编译安装

git clone https://github.com/vim/vim.git

编译安装(依次输入)(设置编译参数)
cd vim/src

./configure --with-features=huge --enable-pythoninterp=yes --enable-cscope --enable-fontset --with-python-config-dir=/usr/lib64/python2.7/config --enable-python3interp=yes --with-python-config-dir=/usr/lib/python3.6/config --enable-multibyte --prefix=/usr/local/vim/

make -j2 && make install

安装YouCompleteMe准备条件

(1)最新版的Vim,支持python。
终端输入命令:

vim –version

查看版本信息,若python前有‘+’即可。
然后终端执行命令:

sudo apt-get install python-dev

装的过程中若遇到问题,依次执行以下命令:

sudo apt-get update
sudo apt-get install -f

之后重试安装:

sudo apt-get install python-dev

(2)安装cmake

sudo apt-get install cmake

(3)安装clang

sudo apt-get install clang

安装Vundle插件管理器

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

配置.vimrc文件

1.根目录下新建

vim ~/.vimrc

2.在里面加入以下代码

set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'

" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required

3.保存退出后,打开vim,运行:

:PluginInstall

4.左下角出现Done!时安装完成

安装YouCompleteMe文件

1.直接在vimrc中添加(vundle#begin() 和 Vundle#end()中添加(其他插件也是如此)

Plugin 'Valloric/YouCompleteMe'

2.保存退出进入vim安装(时间可能有点漫长,同样左下角出现Done!时完成)

:PluginInstall

编译YouCompleteMe

cd ~/.vim/bundle/YouCompleteMe/

./install.sh --clang-completer

参数–clang-completer是为了支持C/C++的补全

找到配置文件 .ycm_extra_conf.py

cd ~/.vim/bundle/YouCompleteMe/ third_party/ycmd/

ls -a

就可以看到

自行在YoucompleteMe/中创建cpp/ycm目录,将 .ycm_extra_conf.py拷贝进去

cd ~/.vim/bundle/YouCompleteMe
mkdir cpp
mkdir cpp/ycm
cp third_party/ycmd/.ycm_extra_conf.py cpp/ycm/

将下面的内容添加到.vimrc里面
" 寻找全局配置文件
let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py'
" 禁用syntastic来对python检查
let g:syntastic_ignore_files=[".*\.py$"] 
" 使用ctags生成的tags文件
let g:ycm_collect_identifiers_from_tag_files = 1
"关键字补全
"let g:ycm_seed_identifiers_with_syntax = 1
" 在接受补全后不分裂出一个窗口显示接受的项
set completeopt-=preview
" 让补全行为与一般的IDE一致
set completeopt=longest,menu
" 不显示开启vim时检查ycm_extra_conf文件的信息
let g:ycm_confirm_extra_conf=0
" 每次重新生成匹配项,禁止缓存匹配项
let g:ycm_cache_omnifunc=0
" 在注释中也可以补全
let g:ycm_complete_in_comments=1
" 输入第一个字符就开始补全
let g:ycm_min_num_of_chars_for_completion=1
" 错误标识符
let g:ycm_error_symbol='>>'
" 警告标识符
let g:ycm_warning_symbol='>*'
" 不查询ultisnips提供的代码模板补全,如果需要,设置成1即可
" let g:ycm_use_ultisnips_completer=0

到此结束(可自己编写一个C/C++试试)

除第一行
" 寻找全局配置文件
let g:ycm_global_ycm_extra_conf = ‘~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py’
其他的可自行添加修改

c/c++基本配置

为添加c/c++头文件

目前在include中,无法补全stdio.h等头文件,我们需要将/usr/include添加进去。路径添加到 ~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py 文件中的flags 数组中,每增加一个路径,前面要写 ‘-isystem’,

先用 echo | clang -v -E -x c - 查看系统C库文件所在的目录。
先用 echo | clang -v -E -x c++ - 查看系统C++库文件所在的目录。

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

cd ~/.vim/bundle/YouCompleteMe/cpp/ycm/
vim .ycm_extra_conf.py

例如我的:
在这里插入图片描述

'-isystem',
' /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8',
'-isystem',
'/usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/x86_64-linux-gnu/c++/8',
'-isystem',
'/usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/backward',
'-isystem',
'/usr/include/clang/8.0.0/include',
'-isystem',
'/usr/local/include',
'-isystem',
'/usr/include/x86_64-linux-gnu',
'-isystem',
'/usr/include',
'-Wall',

剩下的自行摸索

vim基本配置

进入~/.vimrc中添加

set nocompatible "关闭与vi的兼容模式
set number "显示行号
set nowrap    "不自动折行
set showmatch    "显示匹配的括号
set scrolloff=3        "距离顶部和底部3行"
set encoding=utf-8  "编码
set fenc=utf-8      "编码
set mouse=a        "启用鼠标
set hlsearch        "搜索高亮
syntax on    "语法高亮
set tabstop=4   "tab宽度
set softtabstop=4  
set shiftwidth=4   
set textwidth=79  "行最大宽度
set expandtab       "tab替换为空格键
set autoindent      "自动缩进
set fileformat=unix   "保存文件格式

保存退出,大功告成。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值