当前位置: 首页 > 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…...

拒绝拖延!Kimi助你一天内速成论文初稿!

撰写学术论文是一项需要周密计划和精确执行的任务。它要求作者对文章的每个部分进行深入思考,以确保论文结构的合理性和论述的清晰度。利用Kimi的功能,我们可以更系统地进行写作,从构思到最终成稿,逐步构建出一篇高质量的学术论文…...

Python画笔案例-005 绘制迷宫

1、绘制迷宫 通过 python 的turtle 库绘制一个迷宫的图案,如下图: 2、实现代码 从图上可以看出,内测最短的竖线开始,每次右转 90 度后,线段都增加 8 个单位,所以我们是用 for 循环,循环 50 次…...

【鸿蒙学习】HarmonyOS应用开发者高级认证 - 应用性能优化二(代码层面)

学完时间:2024年8月22日 学完排名:第1801名 一、长列表优化概述 列表是应用开发中最常见的一类开发场景,它可以将杂乱的信息整理成有规律、易于理解和操作的形式,便于用户查找和获取所需要的信息。应用程序中常见的列表场景有新…...

【Docker】如何将A机器内的镜像,导入到B机器?

由于网络或者仓库的原因,经常遇到pull拉取镜像失败的情况!! 那么,如何将A机器内的镜像,通过命令,导入到B机器? 两条重要的命令: 1,在已经成功拉取pull的机器上执行命令…...

动手实现基于Reactor模型的高并发Web服务器(一):epoll+多线程版本

系统流程概览 main函数 对于一个服务器程序来说,因为要为外部的客户端程序提供网络服务,也就是进行数据的读写,这就必然需要一个 socket 文件描述符,只有拥有了文件描述符 C/S 两端才能通过 socket 套接字进行网络通信&#xff0…...

爬虫案例4——爬取房天下数据

简介:个人学习分享,如有错误,欢迎批评指正 任务:从房天下网中爬取小区名称、地址、价格和联系电话 目标网页地址:https://newhouse.fang.com/house/s/ 一、思路和过程 目标网页具体内容如下: ​​​​ …...

网络硬盘录像机NVR程序源码NVR全套运用方案

在当今社会,随着科技的飞速发展和人们对安全需求的日益增长,安防监控系统已成为保障公共安全、维护社会稳定的重要手段。其中,网络视频录像机(NVR)作为安防监控系统的核心设备,其智能化升级运用方案对于提高…...

03:电容的充放电特性及应用举例

1.电容的基本特性:电容两端的电压不能突变 2.影响电容两端电压的参数:整个回路中电阻,电容大小 3.如何计算电容的电压变化时间? τRC R1k C1uF 则得到τ1ms的时间 应用:芯片使能延时...

【专题】2023-2024中国游戏企业研发竞争力报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p37447 在当今的数字时代,游戏产业已然成为经济与文化领域中一股不可忽视的重要力量。2023 年,中国自研游戏市场更是呈现出一片繁荣且复杂的景象,实际销售收入达到了令人瞩目的 2563.8 亿元&#x…...

会话跟踪方案:Cookie Session Token

什么是会话技术? Cookie 以登录为例,用户在浏览器中将账号密码输入并勾选自动登录,浏览器发送请求,请求头中设置Cookie:userName:张三 ,password:1234aa ,若登录成功,服务器将这个cookie保存…...