VIM安装YouCompleteMe(Windows/Mac/Linux)
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)相关推荐
- BesLyric 全新版本下载 ( windows \ mac \ linux )
导读 BesLyric , 一款专门制作 网易云音乐 LRC 滚动歌词的软件! 搜索.下载.制作 歌词更方便! 很荣幸地,自 beslyric 2017 年开发推出以来,得到了很多云村村民的肯定,现在 ...
- PHP安装配置(Windows和Linux)-一篇就够了
文章目录 PHP Windows 1.下载 2.解压缩 3.配置 4.php.ini文件 5.测试配置(此步可跳过) 6.测试PHP代码 Linux 1.下载和解压 2.安装 3.php.ini 4. ...
- boost安装(windows、linux)
boost安装(windows.linux) boost是一个功能强大.构造精巧.跨平台.开源并且完全免费的C++程序库. boost安装(vs2017+boost_1_64_0+win10) 1.到 ...
- linux firefox快捷键设置,FireFox Windows MAC Linux 快捷键大全
FireFox Windows MAC Linux 快捷键大全 OneDou 2011年5月8日 更新于 2013年06月16日 19:24 Firefox是我最喜欢的浏览器,非常的喜欢,4.0更喜欢 ...
- 在Windows, Mac, Linux三种系统中分别获取wifi密码的方式
在Windows, Mac, Linux三种系统中分别获取wifi密码的方式 1. Windows netsh wlan show profile name=wifi名称 key=clear | fi ...
- Apache安装配置(Windows和Linux)-有手就行
文章目录 Apache Windows 1. 下载 2. 解压缩 3. 修改配置 4. 测试配置文件是否合法 5. 安装Apache服务 6. 启动服务 7. 测试 Linux 1. 下载 2. 解压 ...
- 安装 Git ( Windows、linux、Mac)
安装 Git 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 是时候动手尝试下 Git 了,不过得先安装好它.有许多种安装方式,主要分为两种,一种是 ...
- iPhone4S安装Linux系统,Absinthe 2.0.4 官网Windows/Mac/Linux原版下载—iPhone4S和iPad2完美越狱工具...
还记得小杰之前介绍过的,一键实现IOS3.1-IOS5.1.1完美越狱的工具"PP越狱助手"吗?今天再放出一款iPhone4S和iPad2完美越狱工具--Absinthe. Abs ...
- mac vim 安装 YouCompleteMe 插件自动补全
前言 笔者常用vim进行c/c++/go开发,虽说vim也有自带自动补全(control+n,control+p),不过操作上还是比较麻烦,笔者希望可以实现,输入部分单词可以直接弹出下拉框提示所有可能 ...
最新文章
- 数据库事务原理详解-事务基本概念
- ar面部识别_国内手机厂商AR布局报告
- 如何用Excel快速生成SQL语句,用过的人都说好
- 链表C++ | 实现头部、尾部插入数据_1
- kali破解WiFi时wlan0没有变wlan0mon_黑客入门干货:黑客使用 Aircrack-ng 破解 Wi-Fi 密码
- svn服务器的搭建过程 主要为服务端
- Citrix SD-WAN 被曝远程代码执行漏洞
- Spark笔记整理(一):spark单机安装部署、分布式集群与HA安装部署+spark源码编译...
- 元宇宙需要“基建狂魔”
- 从Technorati看博客搜索的发展
- 关于智能家居、360wifi、wifi开关,以及wifi芯片的选择
- flex布局下文字超出省略号代替不起作用解决方法
- 近段时间参加的CTF竞赛部分题目复现(ISCC2020 、GKCTF、网鼎杯)
- Python实现Excel办公自动化
- Navicat的安装及简单使用
- 请求与通配符 mime 映射相匹配。请求映射到静态文件处理程序。如果有不同的前提条件,请求将映射到另一个处理程序。
- AngularJS之有序列表
- 【HTML 教程系列第 14 篇】什么是 HTML 中的有序列表 ol
- PyTorch 简介
- You have not agreed to the Xcode license.
热门文章
- CAx软件的许可分析和优化管理
- iphone照片 heic_如何将iPhone的实时照片转换为静态照片
- 函数可重入性(Reentrancy)概念详解
- 想要自我介绍与众不同?游戏版“时间线”Canvas模块给你信心!
- adb小技巧之读写安卓系统文件和只读文件
- html瀑布式原理,3种方式实现瀑布流布局小结
- 蓝牙技术|AirPods Pro 2或将搭载运动传感器,TWS蓝牙耳机发展新方向
- JVM堆内存与非堆内存(heap)官方详解
- 连微信也封不住的私域流量大爆发,商家该如何把握好时代风口,系统理解把握私域流量风口!...
- 位运算——按位与()、按位或(|)、按位异或(^)