当前位置: 首页 > news >正文

Vim youcompleteme Windows 安装保姆级教程

不说废话。

准备

检查 Vim 的 Python 配置

安装好 vimpython 后(python 必须 ≥ \ge 3.6),在 cmd 下运行

vim --version

会弹出以下窗口。

效果
如果发现 python/dynpython3/dyn 都是 - (我不知道只有前者是 + 能不能运行,可能不行)的话,重装 Vim 和 Python。

如果是 +,在 vim 中运行以下的命令:

:echo has('python3')
:python3 任意 python 代码

如果不报错(且正常运行),那么说明 Vim 配置成功。

如果报错,尝试在 Vim 中添加以下代码:

let &pythonthreedll='Python 路径/python版本.dll'
let &pythonthreehome='Python 路径'

并将环境变量中的 PYTHONHOMEPYTHONPATH 全部设为 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/。这是加速网站。

txt
txt

编译 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(快马)平台可以特别高效地完成原型验证。这个工具的核心思路是让用户输入想学习的技能,系统就能自动生成完整的学习项目,包含理论、示例和练习。下面分享下具体实现过程&#xff1a…...

如何跨越语言盲区,让学术表达精准落地

当我们完成了精妙的实验设计,获得了宝贵的数据,准备向世界展示科研成果时,却常常在“最后一公里”遭遇阻碍。这种阻碍并非源于科研本身的深度,而是来自于语言表达的信心不足与自查盲区。你是否也有过这样的经历:对着屏…...

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正是…...