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文件

结束

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

github上YouCompleterMe这个库在实时更新中,为了防止github上最新版本的安装过程变动导致本文不适用,因此在这里上传本文所用的YouCompleteMe版本。
点击下载 YouCompleteMe.tar.gz

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: CentOS 7 中的 Vim 插件 youcompleteme安装步骤如下: 1. 安装必要的依赖包: ``` sudo yum install cmake gcc-c++ python3-devel ``` 2. 安装 Vim 和 Vundle(一个 Vim 插件管理器): ``` sudo yum install vim git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim ``` 3. 在 Vim 配置文件中添加以下内容: ``` 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' " The following are examples of different formats supported. " Keep Plugin commands between vundle#begin/end. " plugin on GitHub repo Plugin 'Valloric/YouCompleteMe' " All of your Plugins must be added before the following line call vundle#end() " required filetype plugin indent on " required " To ignore plugin indent changes, instead use: "filetype plugin on " " Brief help " :PluginList - lists configured plugins " :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate " :PluginSearch foo - searches for foo; append `!` to refresh local cache " :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal " " see :h vundle for more details or wiki for FAQ " Put your non-Plugin stuff after this line ``` 4. 在 Vim安装插件: 打开 Vim,输入`:PluginInstall`,回车即可。 5. 安装 YouCompleteMe: ``` cd ~/.vim/bundle/YouCompleteMe python3 install.py --all ``` 6. 重启 Vim,即可使用 YouCompleteMe 插件了。 注意:如果你需要 C++ 补全功能,还需要安装 Clang,详情请参考 YouCompleteMe 的官方文档。 ### 回答2: 在CentOS 7上安装vim插件YouCompleteMe,您可以按照以下步骤进行操作: 1. 首先,确保您的CentOS 7系统已经安装vim和cmake。如果没有安装,可以使用以下命令安装: ``` sudo yum install vim cmake ``` 2. 安装YouCompleteMe插件依赖的一些软件包。打开终端,运行以下命令: ``` sudo yum install python-devel python3-devel ``` 3. 下载YouCompleteMe插件的源代码。您可以在GitHub的YouCompleteMe项目页面上找到源代码的下载链接。使用git命令克隆源代码库到本地: ``` git clone https://github.com/ycm-core/YouCompleteMe.git ~/.vim/bundle/YouCompleteMe ``` 4. 切换到插件的目录,并构建插件。进入YouCompleteMe目录: ``` cd ~/.vim/bundle/YouCompleteMe ``` 5. 使用下面的命令来构建YouCompleteMe插件: ``` python3 install.py --clangd-completer ``` 6. 构建完成后,启动vim编辑器。在vim中,输入以下命令来安装插件的管理工具vim-plug(如果您已经安装了其他插件管理工具,您可以使用该工具): ``` curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim ``` 7. 编辑您的vim配置文件,并按照以下示例添加YouCompleteMe插件的配置: ``` call plug#begin('~/.vim/plugged') Plug 'ycm-core/YouCompleteMe' call plug#end() ``` 8. 保存并退出vim配置文件后,重新打开vim并执行以下命令,安装插件: ``` :PlugInstall ``` 9. 插件安装完成后,您可以使用YouCompleteMe插件来提供自动补全和代码建议。 ### 回答3: 在CentOS 7上安装YouCompleteMe插件,需要进行以下步骤: 1. 首先,确保已经安装vim和python-devel: ``` sudo yum install vim python-devel ``` 2. 安装CMake(用于编译YouCompleteMe的依赖项): ``` sudo yum install cmake ``` 3. 使用git克隆YouCompleteMe仓库: ``` git clone https://github.com/ycm-core/YouCompleteMe.git ~/.vim/bundle/YouCompleteMe ``` 4. 进入YouCompleteMe目录,并编译插件: ``` cd ~/.vim/bundle/YouCompleteMe python3 install.py --clang-completer ``` 这里使用了`--clang-completer`选项来启用C/C++代码补全。如果需要其他语言的补全支持,可以查阅YouCompleteMe的文档并添加相应的选项。 5. 最后,编辑vim配置文件,添加YouCompleteMe插件的设置: ``` vi ~/.vimrc ``` 在文件中添加以下内容: ``` set nocompatible set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() Plugin 'VundleVim/Vundle.vim' Plugin 'Valloric/YouCompleteMe' call vundle#end() ``` 6. 保存并退出vim,然后重新打开vim。运行`:PluginInstall`命令,安装YouCompleteMe插件: ``` :PluginInstall ``` 这样,YouCompleteMe插件就成功安装到CentOS 7下的vim中了。您可以根据需要自定义配置,以适应您的开发环境。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值