Vim youcompleteme Windows 安装保姆级教程
不说废话。
准备
检查 Vim 的 Python 配置
安装好 vim 和 python 后(python 必须 ≥ \ge ≥ 3.6),在 cmd 下运行
vim --version
会弹出以下窗口。

如果发现 python/dyn 和 python3/dyn 都是 - (我不知道只有前者是 + 能不能运行,可能不行)的话,重装 Vim 和 Python。
如果是 +,在 vim 中运行以下的命令:
:echo has('python3')
:python3 任意 python 代码
如果不报错(且正常运行),那么说明 Vim 配置成功。
如果报错,尝试在 Vim 中添加以下代码:
let &pythonthreedll='Python 路径/python版本.dll'
let &pythonthreehome='Python 路径'
并将环境变量中的 PYTHONHOME 和 PYTHONPATH 全部设为 Python 路径(没有新建一个)。
下载文件
注意:因为某些网站不再提供一些安装包,所以建议安装最新版。
安装 Vundle。
先尝试在 vimrc 中添加以下内容:
Plugin 'ycm-core/YouCompleteMe'
并运行 :PluginInstall。
如果你的网相当好,没有出错,那么以后的加速手段都不用看了。
如果出错,那么就从 Gitee clone 一份,但是版本有些旧,还是建议镜像或者快速下载。
然后再在 third-party 里面 clone 一个 ycmd (有时候 Vundle 已经存在就不要 clone 了)
下载环境
在 Python 安装目录里找到 Scripts/pip.exe,并把 Scripts 设为环境变量。
安装 Java。
然后运行:
pip install go
pip install npm
pip install cmake (不确定可不可以)
安装 Node.js。
安装 2019 版 Visual Studio 生成工具,其实官网的 search 已经找不到了,这里给的是可以直接安装的 exe 文件。
准备好可以看到如下界面:

选第一个,安装。
安装 youcompleteme
显然,作为“史上最难配置的插件”,它不仅仅需要以上的配置,还有更离谱的。
首先转到 youcompleteme 所在文件夹运行 python install.py --all --verbose,如果对自己相当自信可以不加 --verbose,因为下面的所有分析都源自 --verbose 的输出。
安装分为七部分:检查上面的环境是否配置、安装 abseil 和 llvm、编译很多 c 类型代码、安装 Omnisharp、运行 npm (好像是为了安装 Rust)、配置 Go、安装 Java 工具 jdt.ls、安装 ClangD。
为了防止 github 爆炸,建议在本地能访问 github 的情况下运行。不行就开 hosts,详见百度。
检查环境
这一部分如果有问题肯定是你的问题,下面是应有的输出。
安装 Abseil 和 LLVM
这一部分需要 Github,加载非常慢,需要更改源代码。
在目录下寻找 CMakeLists.txt,应该有(至少)两个。
在这些 txt 中寻找 github (Notepad 中用 Ctrl+F 查找),在所有网址前加上 https://gitdl.cn/。这是加速网站。


编译 C
这一部分较长,但几乎没有问题。有问题就是你的 VS 出问题了。
安装 Omnisharp
这个用的是外部安装,没办法只能等,但是这个比较好,平均几分钟就行了。
运行 npm
这一部分的问题在于会一直卡在 still idealtree builddeps,左边是一个满进度条。
在 cmd 中输入以下命令即可:
npm config set registry https://registry.npmjs.org/
配置 Go
这时的问题是会报错:
connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
这时输入
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
即可解决。
安装 jdt.ls
这边运行时会卡掉,多试几次,平均两次就好了。
还有可能返回 Http404,这时就是 youcompleteme 版本问题,更新即可。
安装 ClangD
这个也依赖 Github,幸运的是我找到了 cache,位于 Vim 地址\vimfiles\bundle\YouCompleteMe\third_party\ycmd\third_party\clangd\cache。使用快速下载后把压缩文件放到 cache 里,即可。
至此,你成功安装了 youcompleteme。
运行
在运行时,你可能会遇到形如 ycmd 服务器加载失败的错误,注意不是 Traceback,而是正常输出。Traceback 的错误都是版本问题,重装即可解决。
在你的 vimrc 中加入:
let g:ycm_server_python_interpreter='Python 路径/python.exe'
重启。
后记
猜猜我是怎么知道这么多的?
对,你没猜错,上面的问题我在配置时踩了个遍。
配置时,我重装了一次 Vim,一次 Python,一次 youcompleteme,跑了至少 20 次 install.py,耗费 5 个小时(当然我不可能在等待的时间闲着)。
如果认为有用,请点赞收藏。你的支持是我前进的动力。
相关文章:
Vim youcompleteme Windows 安装保姆级教程
不说废话。 准备 检查 Vim 的 Python 配置 安装好 vim 和 python 后(python 必须 ≥ \ge ≥ 3.6),在 cmd 下运行 vim --version会弹出以下窗口。 如果发现 python/dyn 和 python3/dyn 都是 - (我不知道只有前者是 能不能运行…...
港迪技术IPO提交注册,拟募资6.56亿元
武汉港迪技术股份有限公司(下称“港迪技术”)拟在创业板IPO上市,并于近期在深交所提交招股书(注册稿),进入提交注册阶段。 港迪技术IPO招股书(注册稿)显示,公司是一家专…...
retinaface在ubuntu20.04(wsl2)下使用tensorrt(c++)部署
1. 参考博客: 1. Retinaface Tensorrt Python/C部署:https://blog.csdn.net/weixin_45747759/article/details/124534079 2. B站视频教程:https://www.bilibili.com/video/BV1Nv4y1K727/ 3. Retinaface_…...
vue打包设置 自定义的NODE_ENV
默认NODE_ENV 自定义process.env.NODE_ENV的值_process.node.env的值-CSDN博客 NODE_ENV开发环境下:NODE_ENVdevelopment(默认) 生产环境下:NODE_ENVproduction(默认) NODE_ENV 除了默认的 development 和 production 以外,确实可以自定义…...
python爬虫521
爬虫521 记录 记录 最近想学爬虫,尝试爬取自己账号下的文章标题做个词云 csdn有反爬机制 原理我就不说啦 大家都写了 看到大家结果是加cookie 但是我加了还是521报错 尝试再加了referer 就成功了(╹▽╹) import matplotlib import requests from wordcloud impor…...
CSS中flex:1是什么属性
flex: 1 是 CSS 中的一个简写属性,用于设置 Flex 项目的灵活伸缩比例(flex-grow)、收缩比例(flex-shrink)以及基础大小(flex-basis)。具体来说,flex: 1 实际上是以下三个属性的简写&…...
网络硬件升级指南:提升性能的策略与实践
随着企业对网络依赖程度的增加,网络性能的提升已成为信息技术部门的首要任务。本文将探讨如何通过升级网络硬件来提高网络性能,包括选择正确的硬件、实施升级策略和考虑未来网络的可扩展性。 一、网络性能的重要性 在数字化时代,网络是企业…...
XSS-过滤特殊符号的正则绕过
目录 靶场练习地址:https://xss.pwnfunction.com/ 题目源码: 代码分析: 方法一:匿名函数 方法二:使用eval函数绕过限制 示例: 方法三:利用hash绕过 靶场练习地址:https://xs…...
CocosCreator3.8 IOS 构建插屏无法去除的解决方案
CocosCreator3.8 IOS 构建插屏无法去除的解决方案 在实际项目开发过程中,我们通常无需CocosCreator 自带的插屏,一般采用自定义加载页面。 然后在构建IOS 项目时,启用(禁用)插屏无法操作,如下图所示&#…...
Linux软件编程---数据库
目录 一、数据库 1.1.概念 1.2.类型 1.关系型数据库 2.非关系型数据库 1.3.SQL语言 1.4.如何在Linux安装sqlite数据库 1.确保虚拟机可以上网 2.配置apt-get工具集合 3.安装sqlite数据库 1.5.sqlite3 1.创建数据库 2.查看数据表 3.退出数据库 4.SQL语句 二、数…...
Spring 源码解读专栏:从零到一深度掌握 Spring 框架
前言 Spring 是 Java 世界中无可争议的王者框架,它以其灵活、轻量、强大而著称,成为企业级开发的首选工具。然而,很多开发者在使用 Spring 时,往往只停留在会用的层面,对于其内部实现和设计原理知之甚少。本专栏旨在通…...
帆软-秋招提前批-笔试
单选 1. 有四个同学,每个人得到的桃子数量不同,4个到7个之间。然后,4个人都吃掉了1个或2个桃,结果每个人剩下的桃数量还是各不相同。4个人吃过桃后,说了如下的话。其中,吃了2个桃的人撒谎了,吃了1个桃的人说了实话。 安娜:"我吃过红色的桃。" …...
嵌入式AI快速入门课程-K510篇 (第七篇 系统BSP开发)
第七篇 系统BSP开发 文章目录 第七篇 系统BSP开发1. 嵌入式Linux系统介绍嵌入式Linux系统组成产品形态嵌入式芯片启动流程Linux系统Linux系统框架嵌入式编译环境 2.嵌入式Linux开发准备手册文档开发工具配套硬件工程源码 3.嵌入式Linux开发组成概述编译工具链什么是工具链什么是…...
代码随想录算法训练营day52:图03:101. 孤岛的总面积;102. 沉没孤岛;103. 水流问题
101. 孤岛的总面积 卡码网:101. 孤岛的总面积(opens new window) 题目描述 给定一个由 1(陆地)和 0(水)组成的矩阵,岛屿指的是由水平或垂直方向上相邻的陆地单元格组成的区域,且完全被水域单…...
开源大模型本地私有化部署
1、安装ollama ollma下载 https://ollama.com/download/windows linux 安装 curl -fsSL https://ollama.com/install.sh | sh 运行 ollama run gemma:2b ollama run gemma:7b 使用端口11434 2、下载 open-webui 代码 https://github.com/open-webui/open-webui.git 生成目录…...
站长为什么要搭建个人博客网站
搭建个人博客网站是一个值得考虑的选择,它不仅有助于个人成长,还能在多个方面带来积极的影响。以下是几个主要的理由: 一、记录与备忘 方便回顾与查阅:博客网站成为了一个个人知识库,记录下来的内容方便后续查阅和回顾…...
Golang | Leetcode Golang题解之第355题设计推特
题目: 题解: type Twitter struct {Tweets []intUserTweets map[int][]intFollows map[int][]intIsFollowMy map[int]bool }/** Initialize your data structure here. */ func Constructor() Twitter {// 每一次实例化的时候,都重新分配一次…...
Redis如何实现发布/订阅?
引言 Redis是一款高性能的内存数据存储系统,除了常用的键值存储功能外,还提供了发布/订阅(Pub/Sub)机制。通过发布/订阅机制,Redis可以实现消息的广播或者实时通知功能,是一种非常有用的功能。 本文将详细…...
EmguCV学习笔记 VB.Net 4.4 图像形态学
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 教程VB.net版本请访问:EmguCV学习笔记 VB.Net 目录-CSDN博客 教程C#版本请访问:EmguCV学习笔记 C# 目录-CSD…...
HarmonyOS 开发
环境 下载IDE 代码 import { hilog } from kit.PerformanceAnalysisKit; import testNapi from libentry.so; import { router } from kit.ArkUI; import { common, Want } from kit.AbilityKit;Entry Component struct Index {State message: string Hello HarmonyOS!;p…...
一张照片秒变3D模型!用Splatter Image和3D高斯溅射快速上手单视图重建
从单张照片到3D模型:Splatter Image技术实战指南 想象一下,你刚在二手市场淘到一个绝版手办,想为它创建数字档案;或是设计师客户临时需要将一张产品照片转为3D模型。传统流程需要专业设备扫描或手工建模,耗时数小时甚…...
如何高效使用Super IO插件:Blender批量导入导出终极指南
如何高效使用Super IO插件:Blender批量导入导出终极指南 【免费下载链接】super_io blender addon for copy paste import / export 项目地址: https://gitcode.com/gh_mirrors/su/super_io 想要在Blender中实现一键导入导出模型和图像吗?Super I…...
EmuELEC 3.9 vs 4.0+:不同版本写入EMMC的详细操作指南(附常见问题解决)
EmuELEC 3.9与4.0版本EMMC写入全流程实战解析 1. 版本差异与核心机制解析 EmuELEC作为开源游戏系统,其3.9与4.0版本在EMMC写入机制上存在根本性架构差异。理解这些差异是避免操作失误的前提。 3.9版本的技术特点: 采用传统的installtointernal.sh脚本…...
用快马平台快速原型你的技能学习器:AI一键生成交互式教程项目
最近在尝试做一个交互式Python技能学习生成器,发现用InsCode(快马)平台可以特别高效地完成原型验证。这个工具的核心思路是让用户输入想学习的技能,系统就能自动生成完整的学习项目,包含理论、示例和练习。下面分享下具体实现过程:…...
如何跨越语言盲区,让学术表达精准落地
当我们完成了精妙的实验设计,获得了宝贵的数据,准备向世界展示科研成果时,却常常在“最后一公里”遭遇阻碍。这种阻碍并非源于科研本身的深度,而是来自于语言表达的信心不足与自查盲区。你是否也有过这样的经历:对着屏…...
GitHub协作开发:AnythingtoRealCharacters2511动漫转真人开源项目实践
GitHub协作开发:AnythingtoRealCharacters2511动漫转真人开源项目实践 1. 项目介绍与准备 AnythingtoRealCharacters2511是一个专门将动漫角色转换为真实人像的开源项目,基于先进的AI图像生成技术。这个项目在GitHub上开源,让开发者可以共同…...
拓扑排序别再死记硬背了!用邻接矩阵手搓一个(附C++/C语言单文件实现)
拓扑排序的工程化实现:从邻接矩阵到零依赖代码实战 第一次接触拓扑排序时,我盯着教科书上的算法描述看了半天——"选择一个入度为0的顶点并输出"、"从图中删除该顶点和所有以它为起点的有向边"——这些抽象的描述让我困惑不已。直到…...
VxLAN网络如何“破圈”?聊聊Type5路由在云网融合中的真实应用场景
VxLAN Type5路由:云网融合时代的智能连接引擎 在数字化转型浪潮中,企业网络架构正经历着从传统三层架构向云原生网络的跃迁。VxLAN作为新一代网络虚拟化技术的代表,其Type5路由功能正在成为打通云网边界的关键推手。想象一下这样的场景&#…...
重装系统后的环境快速恢复:包含BERT模型部署的自动化脚本
重装系统后的环境快速恢复:包含BERT模型部署的自动化脚本 重装系统,对开发者来说,就像一场“数字大扫除”。清爽是清爽了,但看着空空如也的终端和待部署的一长串服务列表,那种从头再来的疲惫感瞬间涌上心头。尤其是当…...
IPXWrapper终极指南:三步让Windows 11完美运行经典游戏联机对战
IPXWrapper终极指南:三步让Windows 11完美运行经典游戏联机对战 【免费下载链接】ipxwrapper 项目地址: https://gitcode.com/gh_mirrors/ip/ipxwrapper 还在为Windows 11无法运行《红色警戒2》、《星际争霸》等经典游戏而烦恼吗?IPXWrapper正是…...
