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

linux上安装vimplus 从零开始

目前的vimplus没找到很好的安装教程,新版本的容易出现很多问题,本文从零开始教你完成vimplus的安装
请注意你的vim版本要在9.1.0016以上 pyhton要在3.8以上
最好选用Ubuntu 24.04

请注意不要用root用户安装vimplus 会出现报错请新建一个用户并配置一下sudo权限
创建用户可以参考如下

sudo adduser test  # 分配用户
sudo usermod -aG sudo test # 分配权限
su - test #切换用户

随后使用ssh连接服务器即可

首先配置GitHub的ssh连接

如果不配置ssh,gitclone的连接可能超时
你可以参考这个博客进行配置
ssh链接

vimplus下载

安装vimplus

git clone https://github.com/chxuan/vimplus.git ~/.vimplus
cd ~/.vimplus
./install.sh

请注意命令不要加sudo

在这里插入图片描述
选择你要的python版本现在基本的都是python3

自动下载插件
在这里插入图片描述
如果你没有安装前面的git进行配置,这里可能会出现网络问题

测试

vim main.c #测试一下是否正常

在这里插入图片描述

可以看到出现报错

直接:q退出
在这里插入图片描述
这往往是因为YCM(YouCompleteMe)的问题我们选择重新安装一下YCM

先直接卸载YCM

cd ~/.vim/plugged/
rm -rf YouCompleteMe/
sudo apt update
sudo apt install build-essential cmake vim-nox python3-dev # 确保YCM的最小依赖存在

你可以根据你的需求安装特定的依赖
在这里插入图片描述

安装YCM

git clone https://github.com/ycm-core/YouCompleteMe.git #直接在~/.vim/plugged/目录下使用
cd YouCompleteMe/
git submodule update --init --recursive #首次安装需要使用这个命令
python3 install.py --all #这个过程比较漫长

在这里插入图片描述
我的构建出现了问题,因为从github上下载libclang超时了
我们修改指令使用系统的clang

sudo apt install -y clang libclang-dev python3-dev #确保环境
python3 install.py --all --system-libclang #采用系统的clang

请注意 --all会为所有语言安装支持,这很可能因为网络导致失败 这可能是因为部分语言依赖你没有安装

建议如下安装

请确保你的语言环境依赖成功安装在进行下面的代码,选择你需要的即可 如果要多个可以加在后面

python3 install.py --system-libclang --clang-completer #单独支持c系列
python3 install.py --system-libclang --cs-completer # c#
python3 install.py --system-libclang --go-completer # go
python3 install.py --system-libclang --ts-completer # js和Ts
python3 install.py --system-libclang --rust-completer # rust
python3 install.py --system-libclang --java-completer # java

我目前只需要c系列
在这里插入图片描述

最终测试

vim main.c

可以看到成功打开且没有报错,十分舒适
在这里插入图片描述

相关文章:

  • 使用Python构建桌面图片浏览器
  • cursor如何回退一键回退多个文件的修改
  • Docker 安装 Elasticsearch 8.x
  • Java二叉树深度解析:结构、算法与应用实践指南
  • 【教程】检查RDMA网卡状态和测试带宽 | 附测试脚本
  • Java公平锁和非公平锁实现原理
  • 图论-BFS搜索图/树-最短路径问题的解决
  • 2025 cs144 Lab Checkpoint 2 小白超详细版
  • python 安装win32com.client库
  • ReportLab 导出 PDF(文档创建)
  • vue里provide作用:将一组全局方法注入到 Vue 应用的所有子组件中
  • 【正点原子STM32MP257连载】第四章 ATK-DLMP257B功能测试——USB测试 #USB HOST #USB 鼠标
  • 京东硬核挑战潜规则,外卖算法要变天?
  • 阶段性使用总结-通义灵码
  • 协程从原理到最新的c++协程特性
  • 从服务器多线程批量下载文件到本地
  • 4.14【Q】pc homework3
  • 有序二叉树各种操作实现(数据结构C语言多文件编写)
  • 基础知识:Dify 错误排查
  • 基础学习(4): Batch Norm / Layer Norm / Instance Norm / Group Norm
  • 泽连斯基称乌克兰全境响起防空警报
  • 鲁比奥称“美或退出俄乌谈判”,欧洲官员:为了施压乌克兰
  • 第八届进博会倒计时200天,超100家展商将连续八届参展
  • 外交部介绍中印尼“2+2”机制首次部长级会议将讨论的议题
  • 为震慑违法违规行为,市监总局发布一批直播电商领域典型案例
  • 美海军第二艘航母抵达中东地区,南北夹击胡塞武装