VIM安装YouCompleteMe

前言

前一阵子一直在折腾YouCompleteMe这个插件,在Mac、Ubuntu、Windows上都试过,全部安装成功,其中 windows最费劲,今天也写出来,希望有跟我同样需要的人也可以少走弯路,少浪费点时间在环境配置上。

安装VIM

windows

windows下,建议从如下链接下载安装VIM,是vim的日更版,可以支持python脚本:vim-win32-installer
下载完毕后直接安装后,配置环境变量path到vim的安装路径,例如我安装的是vim8.2 64位版本,装在C:/Program Files/vim,path配置如下:

(都开始用vim了,环境变量在哪里配置应该不用教了吧)
配置好后用命令行运行vim可以启动vim就可以了。

Linux/MacOS

Mac、Linux上的也建议重新安装vim,自带的vim大概率不支持python,Mac用brew命令安装:

 brew install vim# 需要先安装brew工具,网上教程很多

Linux用命令行安装的方法就不写出来了,不同的Linux版本安装命令也不同,搜索一下就出来了。

确定当前的vim是否支持python

如果不确定现在安装的vim是否支持python,可以用如下命令查看:

 vim --version

输出日志如下:
Windows:

Mac:

可以看到有“+python3/dyn”或者“+python3”字样就是表示支持python3。如果没有的话就要重装vim了。

下载Python

Mac、Linux下暂未遇到python3版本的问题,只要安装python3和python3-dev即可。

sudo apt-get install python3 python3-dev

在Windows下比较麻烦,跟python3版本有关,具体如下:
启动vim,在vim下按如下操作查看当前vim支持的python3版本:

 <ESC>:python3 print("1")

如果没有安装python3或者安装的版本不对,会提示无法加载python的dll库,例如我的电脑上提示如下:

无法加载python38.dll,即我安装的版本只能支持python3.8,此时去python官网下载3.8版本的python软件,安装、配置环境。也有很多现有的教程(主要还是我太懒)。这里就不说了,不过有一点必须注意:
64位的vim必须配64位的python,32位的vim必须配32位的python!!!
直到执行

 <ESC>:python3 print("1")

能够在左下角正常打印出数据,如下左下角正常打印出“1”,表示vim能够调用到python3,python安装成功!

下载YouCompleteMe插能件

八仙过海各显神通吧,有的朋友用Vundle之类的插件管理工具,也都能下下来,但是我不想连Vundle教程一并写了,网上教程一大堆。不过这里还是说下Vundle中的配置,如下:

Plugin 'Valloric/YouCompleteMe'

或者直接打开网页下载zip,或者用git clone下载,如下:
git地址:https://github.com/ycm-core/YouCompleteMe
git clone下载:

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

下载完成后,放到vim插件目录中。
之后用命令行打开该YCM目录,运行如下命令更新代码:

git submodule update --init --recursive

安装cmake

这个不用多说了吧,Mac/Linux下一个命令的事,windows下比较麻烦。
不用怕我这里推荐个软件chocoletey,安装也是一个命令行的事:
用打开Powershell命令行,执行如下指令,等待安装结束就可以了:

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

装好之后,用管理员权限启动命令行,执行如下指令就可以安装cmake了

choco install -y cmake

windows下装完后记得配置环境变量,用choco命令安装会装在C:\Program Files\CMake文件夹下。把C:\Program Files\CMake\bin加到path中,这里就不再详述了(这个博主太懒了)。

编译器

windows下安装Visual Studio,这个不用多说了吧。宇宙第一IDE,程序猿必备佳品。
Mac/Linux下按照提示安装Xcode或者gcc等编译器。

编译安装

用命令行打开YouCompleteMe文件夹,执行如下命令安装对C/C++的支持:

python3 install.py --clangd-completer

等待编译完成即可。
还可以安装对Java、Go语言等可以用如下命令查看编译参数,根据提示安装:

install.py --help

这里个人不建议执行 install --all 全部安装,会拖慢vim的运行速度。
到这里已经完成YouCompleteMe的安装了,但是还不够,还需要安装YCM-Generator,这个插件是生成工程依赖库路径的文件,即.ycm_extra_conf.py这个文件。否则YCM找不到工程的头文件在哪里。

最后,到这里就已经可以启动YouCompleteMe这个插件了,但是启动之后会爆错,我们还需要安装python3的pathtools插件,命令如下:

pip3 install pathtools

如果启动的时候提示vim版本过低,就需要重新安装vim到高版本,windows上如上面所说的可以通过vim-win32-installer下载新版本,ubuntu需要执行以下命令,添加vim的软件源后再安装:

sudo add-apt-repository ppa:jonathonf/vim
sudo apt update
sudo apt install vim

之后应该就可以完美启动了。

安装YCM-Generator

YCM-Generator的github仓库:https://github.com/rdnetto/YCM-Generator
在Vundle中的配置如下:

Plugin 'rdnetto/YCM-Generator'

这个插件只要下下来就可以了,不需要编译。

Attention!!目前这个插件不支持windows!!那么windows上要怎么生成.ycm_extra_conf.py呢?可以从linux上自行拷贝一份后修改。
个人建议,vim还是放在linux和Mac上用就好,windows可以寻找其他替代方案。

配置

YouCompleteMe和YCM-Generator都需要配置,下面展示我自己用的配置,可以参考下:

"YCM 自动补全设置
"let g:ycm_key_invoke_completion = '<c-z>'
set completeopt-=preview   "关闭preview窗口
"启用基于语义的自动补全
"let g:ycm_collect_identifiers_from_tags_files=1 " 开启 YCM 基于标签引擎
let g:ycm_error_symbol = '✗'
let g:ycm_warning_symbol = '⚠'
let g:ycm_semantic_triggers =  {\ 'c,cpp,python,java,go,erlang,perl': ['re!\w{2}'],\ 'cs,lua,javascript': ['re!\w{2}']\ }
"设置白名单文件
let g:ycm_filetype_whitelist = { \ "c":1,\ "cpp":1, \ "sh":1,\ "py":1\ }
"修改提示框颜色
"highlight Pmenu ctermfg=4 ctermbg=8 guifg=#ffffff guibg=#000000  "提示不再是粉红色(pink)
highlight PMenu ctermfg=yellow ctermbg=darkgrey guifg=#ffffff guibg=#000000
highlight PMenuSel ctermfg=white ctermbg=black guifg=#000000 guibg=#ffffff
"声明、定义跳转
nnoremap <C-u> :YcmCompleter GoToDefinitionElseDeclaration<CR>
nnoremap <F5> :YcmForceCompileAndDiagnostics<CR>
"YCM-Generator配置
nnoremap <C-y> :YcmGenerateConfig ./<CR>   "更新.ycm_extra_conf.py文件

该配置的快捷键如下:

快捷键 功能
Ctrl + z 唤醒补全,如果没有跳出补全框可以用这个快捷键调用
Ctrl + u 切换到声明/定义
F5 通过重编译代码,更新代码中的错误提示信息
Ctrl + y 更新项目下的.ycm_extra_conf.py文件

结束

如果文章有帮到你,请帮我点个小小的赞。哪里有问题或者看不懂的可以留言或者私信,我一定第一时间回复,谢谢

VIM安装YouCompleteMe(Windows/Mac/Linux)相关推荐

  1. BesLyric 全新版本下载 ( windows \ mac \ linux )

    导读 BesLyric , 一款专门制作 网易云音乐 LRC 滚动歌词的软件! 搜索.下载.制作 歌词更方便! 很荣幸地,自 beslyric 2017 年开发推出以来,得到了很多云村村民的肯定,现在 ...

  2. PHP安装配置(Windows和Linux)-一篇就够了

    文章目录 PHP Windows 1.下载 2.解压缩 3.配置 4.php.ini文件 5.测试配置(此步可跳过) 6.测试PHP代码 Linux 1.下载和解压 2.安装 3.php.ini 4. ...

  3. boost安装(windows、linux)

    boost安装(windows.linux) boost是一个功能强大.构造精巧.跨平台.开源并且完全免费的C++程序库. boost安装(vs2017+boost_1_64_0+win10) 1.到 ...

  4. linux firefox快捷键设置,FireFox Windows MAC Linux 快捷键大全

    FireFox Windows MAC Linux 快捷键大全 OneDou 2011年5月8日 更新于 2013年06月16日 19:24 Firefox是我最喜欢的浏览器,非常的喜欢,4.0更喜欢 ...

  5. 在Windows, Mac, Linux三种系统中分别获取wifi密码的方式

    在Windows, Mac, Linux三种系统中分别获取wifi密码的方式 1. Windows netsh wlan show profile name=wifi名称 key=clear | fi ...

  6. Apache安装配置(Windows和Linux)-有手就行

    文章目录 Apache Windows 1. 下载 2. 解压缩 3. 修改配置 4. 测试配置文件是否合法 5. 安装Apache服务 6. 启动服务 7. 测试 Linux 1. 下载 2. 解压 ...

  7. 安装 Git ( Windows、linux、Mac)

    安装 Git 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 是时候动手尝试下 Git 了,不过得先安装好它.有许多种安装方式,主要分为两种,一种是 ...

  8. iPhone4S安装Linux系统,Absinthe 2.0.4 官网Windows/Mac/Linux原版下载—iPhone4S和iPad2完美越狱工具...

    还记得小杰之前介绍过的,一键实现IOS3.1-IOS5.1.1完美越狱的工具"PP越狱助手"吗?今天再放出一款iPhone4S和iPad2完美越狱工具--Absinthe. Abs ...

  9. mac vim 安装 YouCompleteMe 插件自动补全

    前言 笔者常用vim进行c/c++/go开发,虽说vim也有自带自动补全(control+n,control+p),不过操作上还是比较麻烦,笔者希望可以实现,输入部分单词可以直接弹出下拉框提示所有可能 ...

最新文章

  1. 数据库事务原理详解-事务基本概念
  2. ar面部识别_国内手机厂商AR布局报告
  3. 如何用Excel快速生成SQL语句,用过的人都说好
  4. 链表C++ | 实现头部、尾部插入数据_1
  5. kali破解WiFi时wlan0没有变wlan0mon_黑客入门干货:黑客使用 Aircrack-ng 破解 Wi-Fi 密码
  6. svn服务器的搭建过程 主要为服务端
  7. Citrix SD-WAN 被曝远程代码执行漏洞
  8. Spark笔记整理(一):spark单机安装部署、分布式集群与HA安装部署+spark源码编译...
  9. 元宇宙需要“基建狂魔”
  10. 从Technorati看博客搜索的发展
  11. 关于智能家居、360wifi、wifi开关,以及wifi芯片的选择
  12. flex布局下文字超出省略号代替不起作用解决方法
  13. 近段时间参加的CTF竞赛部分题目复现(ISCC2020 、GKCTF、网鼎杯)
  14. Python实现Excel办公自动化
  15. Navicat的安装及简单使用
  16. 请求与通配符 mime 映射相匹配。请求映射到静态文件处理程序。如果有不同的前提条件,请求将映射到另一个处理程序。
  17. AngularJS之有序列表
  18. 【HTML 教程系列第 14 篇】什么是 HTML 中的有序列表 ol
  19. PyTorch 简介
  20. You have not agreed to the Xcode license.

热门文章

  1. CAx软件的许可分析和优化管理
  2. iphone照片 heic_如何将iPhone的实时照片转换为静态照片
  3. 函数可重入性(Reentrancy)概念详解
  4. 想要自我介绍与众不同?游戏版“时间线”Canvas模块给你信心!
  5. adb小技巧之读写安卓系统文件和只读文件
  6. html瀑布式原理,3种方式实现瀑布流布局小结
  7. 蓝牙技术|AirPods Pro 2或将搭载运动传感器,TWS蓝牙耳机发展新方向
  8. JVM堆内存与非堆内存(heap)官方详解
  9. 连微信也封不住的私域流量大爆发,商家该如何把握好时代风口,系统理解把握私域流量风口!...
  10. 位运算——按位与()、按位或(|)、按位异或(^)