ubuntu下vim安装YouCompleteMe教程

ubuntu16.4下vim安装YouCompleteMe教程

YouCompleteMe 是vim代码提示插件


1 首先检查vim版本

vim --version

如下所示

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Nov 24 2016 16:44:48)
Included patches: 1-1689
Extra patches: 8.0.0056
Modified by pkg-vim-maintainers@lists.alioth.debian.org
Compiled by pkg-vim-maintainers@lists.alioth.debian.org
Huge version without GUI.  Features included (+) or not (-):
+acl             +farsi           +mouse_netterm   +tag_binary
+arabic          +file_in_path    +mouse_sgr       +tag_old_static
+autocmd         +find_in_path    -mouse_sysmouse  -tag_any_white
-balloon_eval    +float           +mouse_urxvt     -tcl
-browse          +folding         +mouse_xterm     +terminfo
++builtin_terms  -footer          +multi_byte      +termresponse
+byte_offset     +fork()          +multi_lang      +textobjects
+channel         +gettext         -mzscheme        +timers
+cindent         -hangul_input    +netbeans_intg   +title
-clientserver    +iconv           +packages        -toolbar
-clipboard       +insert_expand   +path_extra      +user_commands
+cmdline_compl   +job             -perl            +vertsplit
+cmdline_hist    +jumplist        +persistent_undo +virtualedit
+cmdline_info    +keymap          +postscript      +visual
+comments        +langmap         +printer         +visualextra
+conceal         +libcall         +profile         +viminfo
+cryptv          +linebreak       -python          +vreplace
+cscope          +lispindent      +python3         +wildignore
+cursorbind      +listcmds        +quickfix        +wildmenu
+cursorshape     +localmap        +reltime         +windows
+dialog_con      -lua             +rightleft       +writebackup
+diff            +menu            -ruby            -X11
+digraphs        +mksession       +scrollbind      -xfontset
-dnd             +modify_fname    +signs           -xim
-ebcdic          +mouse           +smartindent     -xsmp
+emacs_tags      -mouseshape      +startuptime     -xterm_clipboard
+eval            +mouse_dec       +statusline      -xterm_save
+ex_extra        +mouse_gpm       -sun_workshop    -xpm
+extra_search    -mouse_jsbterm   +syntax          
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  fall-back for $VIM: "/usr/share/vim"

确认vim 版本至少 7.4 Included patches 大于 1578 并且在vim中 输入

:echo has('python') || has('python3')**

如图所示

如果返回值为1 代表支持Python 如果为0 需获得支持Python的Vim版本。

2 在vim中安装Vundle

按照文章安装https://www.jianshu.com/p/769...

3 在使用Vundle安装YouCompleteMe

在.vimrc中添加以下内容

Plugin 'Valloric/YouCompleteMe'

clipboard.png

然后执行如下

git clone https://github.com/ycm-core/YouCompleteMe.git ~/.vim/bundle

在 ~/.vim/bundle/YouCompleteMe 目录下执行

git submodule update --init --recursive

4 安装cmake

apt install cmake

5 YouCompleteMe 要求clang至少7.0 所以编译libclang 8.0

clang --version

按照文章编译https://blog.csdn.net/xingyu9...

6 YouCompleteMe目录下 安装c语言代码提示

cd ~/.vim/bundle/YouCompleteMe
python3 install.py --clang-completer

如图所示表示编译成功

编译成功.png

添加.vimrc配置

vi .vimrc
let g:ycm_global_ycm_extra_conf='~/.vim/.ycm_extra_conf.py'

然后随意创建 .c文件测试提示

clipboard.png

0 声望
1 粉丝
0 条评论
推荐阅读
使用netty实现文件上传服务器
使用netty实现文件上传服务器 代码实现根据官网提供的example [链接] 以及netty官网的api文档 [链接] 项目地址 [链接] 1 编写 server 启动类 {代码...} 2 绑定handler {代码...} 3 上传处理的handler {代码...} 4...

陈绪3阅读 8.1k

Ubuntu 20.04 搭建 Elasticsearch 7.x 小集群(qbit)
环境ES 节点硬件:3 台 AWS m5.4xlarge(16 vCPU/64GB 内存)Kibana 硬件:1 台 AWS m5.large(2 vCPU/8GB 内存)操作系统:Ubuntu 20.04 LTSElasticsearch 7.9.3Kibana 7.9.3机器示意图操作系统这里主要讲 EBS ...

qbit阅读 4.1k

Ubuntu系统下的snmp安装配置
snmp(Simple Network Management Protocol,简单网络管理协议),该协议的实现以及应用是采用C/S模型的特殊模式:代理/管理站模型。

龚正阳1阅读 2.2k评论 1

Ubuntu APT(qbit)
apt 与 apt-getAPT: Advanced Packaging Toolapt 命令不是 apt-get 的简写apt 整合了 apt-get、apt-cache 和 apt-config 中的常用命令可以将 apt 看作 apt-get 的升级版常用命令对比apt 命令示例取代的命令命令的...

qbit阅读 1.9k

Ubuntu 22.04 LTS 上安装 Nginx Web 服务器
Nginx 是一个免费和开源的 Web 服务器,它也可以用作反向代理,HTTP 负载均衡器,HTTP 缓存和邮件代理。Nginx 适用于所有类似 Unix 的操作系统,并以 BSD 开源许可协议发布。

鸠摩智首席音效师阅读 489

Ubuntu下的docker和docker-compose安装
安装前依赖添加仓库源和依赖,执行命令如下 {代码...} 安装 {代码...} 配置docker非root非sudo用户操作把当前非root用户添加到docker用户组,执行如下 {代码...} 由于当前终端shell还保留着旧用户信息现在新开一...

龚正阳阅读 913

二进制安装Kubernetes(k8s) v1.27.1 IPv4/IPv6双栈 可脱离互联网
二进制安装Kubernetes(k8s) v1.27.1 IPv4/IPv6双栈 可脱离互联网[链接] 开源不易,帮忙点个star,谢谢了介绍kubernetes(k8s)二进制高可用安装部署,支持IPv4+IPv6双栈。我使用IPV6的目的是在公网进行访问,所...

小陈运维阅读 860

0 声望
1 粉丝
宣传栏