Rocky 9 Linux 平台 vim 9.0 源码包编译安装踩坑记录

在上一篇 《vim入门实战》 篇,我并没有介绍 Linux 平台源码包形式安装以及基础运用。
本篇教程,以源码包形式部署vim 9.0,演示 Rocky Linux 9 平台安装 vim 9.0.1523,目前最新版为vim 9.0.15xx。
如下演示均以 root 身份进行。为了安全考虑,默认禁用root 用户远程ssh登录权限,以普通用户作为跳板切换为 root 用户。
vim 9.0 部署准备环境
借助终端管理工具,通过 ssh 登录到终端管理界面(普通用户):
PS D:\work> ssh wzgy@192.168.245.133
wzgy@192.168.245.133's password:
切换为 root 用户:
su root
获取 vim 9.0 源码包:
wget https://github.com/vim/vim/archive/refs/tags/v9.0.1523.tar.gz
如果没有安装 wget 工具,Rocky Linux 9 可以执行如下命令进行安装:
dnf -y install wget
安装前,确认环境,是否安装 make gcc cmake:
[root@localhost soft]# dnf -y install make gcc cmake
根据实际情况而定,可能有的源码包设定需要 cmake 编译。
减少干扰,卸载 Rocky Linux 9 自带的 vim8:
[root@localhost soft]# dnf remove vim
友情提示:实际工作中,你的硬件(CPU、内存、硬盘)不是无限大。以二进制包、源码包、rpm、deb包等等形式安装软件,保留其中一种即可。减少服务器资源争抢,便于管理维护。
vim 9.0 源码包正式部署
正式部署vim9,首先解压 vim:
[root@localhost soft]# tar -zxvf v9.0.1523.tar.gz
进入 src 目录:
[root@localhost soft]# cd vim-9.0.1523/src/
编译:
[root@localhost src]# make
注意事项:看到提示别慌,仔细发现提醒需要 ncurses 依赖。

checking for tgetent()... configure: error: NOT FOUND!
You need to install a terminal library; for example ncurses.
On Linux that would be the libncurses-dev package.
Or specify the name of the library with --with-tlib.
Makefile:291: auto/config.mk: 没有那个文件或目录
make: *** [Makefile:1972:auto/config.mk] 错误 1
在 Rocky Linux 9.1 (RHEL9 系列应该均适用)中可以执行:
dnf -y install ncurses
如果提示:
软件包 ncurses-6.2-8.20210508.el9.x86_64 已安装。
依赖关系解决。
无需任何处理。
完毕!
再次执行 dnf -y install ncurses-devel-6.2-8.20210508.el9:
dnf -y install ncurses-devel-6.2-8.20210508.el9
会继续安装如下两个库文件:
ncurses-c++-libs-6.2-8.20210508.el9.x86_64.rpm
ncurses-devel-6.2-8.20210508.el9.x86_64.rpm
可能你会有疑问,实际过程中,如何判断安装包是哪一个 Linux 具体发行版本?其实可以根据安装包命名规则区分,可以看到以上安装包中都含有 el9 ,代表所处 Linux 发行版平台为 RHEL9 系列。
继续编译:
[root@localhost src]# make
安装:
make install
如果直接执行 vim:
vim
输出结果:会进入一个含有vim 当前版本以及维护人的信息。当然还含有公益广告,开源软件可以自行选择删除或者保留。
vim 9.0 初体验
执行 vim file.txt 进行编辑,输入一段内容 hello vim 9.0.153:
vim test.txt
按下快捷键:i ,插入如下内容:
*
**
***
*****
*******
*************************
采用源码包形式编译安装!
hello vim 9.0.1523
*************************
*******
*****
***
**
*
test.txt 代表你需要编辑的文件。
使用快捷键: a i o 即可插入内容,使用 :wq 进行保存并退出当前文件。
终端展示输出文件 test.txt 内容:
cat test.txt
如果你有足够的英语词汇量,使用 vim 自带帮助命令效率会很高。
继续编辑 test.txt 文件:
vim test.txt
示例使用 vim 帮助命令,含义直接写入代码块注释中:
:help #查看全局帮助命令文档
:help vs #查看局部水平分屏命令文档
:help sp #查看局部垂直分屏命令文档
关闭所有窗口,强制(加上!符号)不保存退出,使用快捷键: :qa!,保存退出所有窗口: :wqa 。
更多 vim 快捷键使用方法,可以在公众号或者站内搜索:vim入门实战。
默认安装后相关配置文件路径:
[root@localhost src]# ls /usr/local/share/
applications info man vim
默认 vim 脚本文件路径:
ls /usr/local/bin/vim
vim 脚本会去寻找defaults.vim,默认所在路径:/usr/local/share/vim/vim90/defaults.vim,也就是源码包经过编译、安装后生成的文件。
plug-vim 安装插件
Rocky 9 Linux 平台如下操作
wget https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
--directory-prefix=/usr/local/share/vim/vim90/autoload/
下载文件,如何指定保存路径?通过帮助文档查询:
[root@localhost ~]# wget --help | grep "保存文件"
-P, --directory-prefix=前缀 保存文件到 <前缀>/..
如果没有 wget 工具,请先安装:
dnf -y install wget
安装 vim-plug 插件后,加入如下内容即可安装 nerdtree 和 tagbar 插件:
set number
call plug#begin()
Plug 'preservim/nerdtree'
Plug 'preservim/tagbar'
call plug#end()
个人认为,这两个插件还是很实用的,尤其是浏览代码。
如果想 tagbar 正常运行,还需安装:
dnf -y install ctags
执行插件安装命令:
:PlugInstall
插件安装后,重启vim即可生效。
安装插件效果展示,最左侧是nerdtree效果,最右侧是tagbar效果。
示例:
vim Test.java
:NERDTree
:Tagbar

以上总结,仅供参考哟,希望对你的工作有所帮助!
—END—
Rocky 9 Linux 平台 vim 9.0 源码包编译安装踩坑记录的更多相关文章
- CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作
CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作 2018年07月05日 00:28:38 String峰峰 阅读数:2614 使用yum安装的MySQL一般版本比较旧,但 ...
- MySQL源码包编译安装
+++++++++++++++++++++++++++++++++++++++++++标题:MySQL数据库实力部署时间:2019年3月9日内容:MySQL源码包进行编译,然后部署MySQL单实例重点 ...
- CentOS 7.4 使用源码包编译安装MySQL 5.7.20
使用yum安装的MySQL一般版本比较旧,但是运行稳定.如果想要尝试最新的功能或者需要指定特殊的功能的话,就需要手工进行编译安装了. 一.下载安装包 (一).先下载MySQL源码,网址为:https: ...
- LAMP 环境搭建之源码包编译安装
mysql用的二进制包安装. Apache php 用的源码包 mysql版本5.5.46 Apache版本2.4.7 PHP版本:5.5 mysql安装部分参考了阿铭linux的内容. 这是 ...
- MYSQL5.5源码包编译安装
MYSQL5.5源码安装首先安装必要的库yum -y install gcc*###### 安装 MYSQL ######首先安装camke 一.支持YUM,则yum install -y cmake ...
- MYSQL5.7源码包编译安装
Centos下用cmake编译安装MySQL 5.7安装依赖包yum -y install gcc gcc-c++ ncurses ncurses-devel cmake下载相应源码包cd /usr/ ...
- PHP-5.6.8 源码包编译安装
一.下载源码包后,进行解压 [root@www home]# .tar.bz2 gzip: stdin: not in gzip format tar: Error is not recoverabl ...
- Debian 7 amd64--TP-LINK TL-WN725N 2.0源码驱动编译安装
租房用的是无线网络,在新安装的Debian 7 amd64使用的无线网卡型号是TP-LINK TL-WN725N 2.0,发现驱动安装还是有些问题,折腾了很久,特意在此记录一下. TL-WN725N ...
- MYSQL5.6源码包编译安装
linux下用cmake编译安装mysql-5.6.35cmake编译安装mysql的方法:#useradd -M mysql -s /sbin/nologin#yum install -y cmak ...
- tomcat7源码包编译安装
tomcat/:作用解析jsp程序.先安装jdk容器.1.下载jdk, wget http://download.oracle.com/otn- pub/java/jdk/8u131- b11/d54 ...
随机推荐
- windows下创建虚拟环境
创建虚拟环境依赖以下两个模块 virtualenv 和virtualenvwrapper-win 1.下载 2.修改环境变量,增加一条 WORKON_HOME:路径 3. 同步配置 去向Pytho ...
- 取出预训练模型中间层的输出(pytorch)
1 遍历子模块直接提取 对于简单的模型,可以采用直接遍历子模块的方法,取出相应name模块的输出,不对模型做任何改动.该方法的缺点在于,只能得到其子模块的输出,而对于使用nn.Sequensial() ...
- 一文快速回顾 Java 操作数据库的方式-JDBC
前言 数据库的重要性不言而喻,不管是什么系统,什么应用软件,也不管它们是 Windows 上的应用程序,还是 Web 应用程序,存储(持久化)和查询(检索)数据都是核心的功能. 大家学习数据库时,比如 ...
- Jetson Xavier NX 试玩 (二)
Jetson Xavier NX 试玩 (二) Hello AI World Inference 人工智能推理模型 0 前言 想玩一玩 jetson 的人工智能功能,官方的 instructional ...
- 【开源免费】使用Spring Boot和Html实现ChatGPT,1:亿还原,将就看
highlight: a11y-dark 简介 前段时间写了一个Chatgpt的Java版SDK开源地址:chatgpt-java欢迎使用.但由于原来OpenAI 并没有支持官网的chatgpt模型, ...
- Hugging News #0317: ChatGLM 会成为 HF 趋势榜的第一名吗?
每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新.社区活动.学习资源和内容更新.开源库和模型更新等,我们将其称之为「Hugging Ne ...
- Spring框架中都用到了哪些设计模式 ?
1.简单工厂模式 简单工厂模式的本质就是一个工厂类根据传入的参数,动态的决定实例化哪个类.Spring 中的 BeanFactory 就是简单工厂模式的体现,根据传入一个唯一的标识来获得 bean 对 ...
- smart rtmpd web 接口说明
smart rtmpd web 接口分为下面几类 分类名称 功能描述 live 这个就是平常我们的直播播放接口 rec 这个就是平常我们的录像回放接口 vod 这个就是我们点播接口,支持字 ...
- LinkedBlockingQueue出入队实现原理
类图概述 由类图可以看出,L是单向链表实现的,有两个ReentrantLock实例用来控制元素入队和出队的原子性,takeLock用来控制只有一个线程可以从队头获取元素,putLock控制只有一个线程 ...
- 【JVM盲点补漏系列】「并发编程的难题和挑战」深入理解JMM及JVM内存模型知识体系
并发编程的难题和挑战 在并发编程的技术领域中,对于我们而言的难题主要有两个: 多线程之间如何进行通信和线程之间如何同步,通信是指线程之间以何种机制来交换信息. 多线程的线程通信机制 在命令式编程中,线 ...