在上一篇 《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 源码包编译安装踩坑记录的更多相关文章

  1. CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作

    CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作 2018年07月05日 00:28:38 String峰峰 阅读数:2614   使用yum安装的MySQL一般版本比较旧,但 ...

  2. MySQL源码包编译安装

    +++++++++++++++++++++++++++++++++++++++++++标题:MySQL数据库实力部署时间:2019年3月9日内容:MySQL源码包进行编译,然后部署MySQL单实例重点 ...

  3. CentOS 7.4 使用源码包编译安装MySQL 5.7.20

    使用yum安装的MySQL一般版本比较旧,但是运行稳定.如果想要尝试最新的功能或者需要指定特殊的功能的话,就需要手工进行编译安装了. 一.下载安装包 (一).先下载MySQL源码,网址为:https: ...

  4. LAMP 环境搭建之源码包编译安装

    mysql用的二进制包安装. Apache php 用的源码包 mysql版本5.5.46    Apache版本2.4.7  PHP版本:5.5 mysql安装部分参考了阿铭linux的内容. 这是 ...

  5. MYSQL5.5源码包编译安装

    MYSQL5.5源码安装首先安装必要的库yum -y install gcc*###### 安装 MYSQL ######首先安装camke 一.支持YUM,则yum install -y cmake ...

  6. MYSQL5.7源码包编译安装

    Centos下用cmake编译安装MySQL 5.7安装依赖包yum -y install gcc gcc-c++ ncurses ncurses-devel cmake下载相应源码包cd /usr/ ...

  7. PHP-5.6.8 源码包编译安装

    一.下载源码包后,进行解压 [root@www home]# .tar.bz2 gzip: stdin: not in gzip format tar: Error is not recoverabl ...

  8. Debian 7 amd64--TP-LINK TL-WN725N 2.0源码驱动编译安装

    租房用的是无线网络,在新安装的Debian 7 amd64使用的无线网卡型号是TP-LINK TL-WN725N 2.0,发现驱动安装还是有些问题,折腾了很久,特意在此记录一下. TL-WN725N ...

  9. MYSQL5.6源码包编译安装

    linux下用cmake编译安装mysql-5.6.35cmake编译安装mysql的方法:#useradd -M mysql -s /sbin/nologin#yum install -y cmak ...

  10. tomcat7源码包编译安装

    tomcat/:作用解析jsp程序.先安装jdk容器.1.下载jdk, wget http://download.oracle.com/otn- pub/java/jdk/8u131- b11/d54 ...

随机推荐

  1. 【c语言】整数拆分

    将一个正整数n拆分成若干个正整数的和(至少两个数,n<=100). 输入格式: 一个正整数n 输出格式: 若干行,每行一个等式(数与数之间要求非降序排列).最后一行给出解的总个数 输入样例: 在 ...

  2. 重构SeleniumeDownloader底层浏览器驱动

    一.解决bug:Selenium with PhantomJS,重构SeleniumeDownloader底层浏览器驱动 0.小背景: 想爬取外网steam的数据,但是steam官网在海外,加上ste ...

  3. archlinux 源配置 桌面美化 终端美化 常用软件 grub配置

    简介 本文讲对archlinux进行一些基础系统的配置.常用安装的安装,美化进行配置,先看一下美化后的效果吧 配置pacman和使用AUR(archlinuxcn源) archlinux采用滚动更新的 ...

  4. git clone的时候出现 fatal: unable to access 'https://github.com/...':OpenSSL SSL_read: Connection was reset, errno 10054解决方法

    git clone的时候出现fatal: unable to access 'https://github.com/...':OpenSSL SSL_read: Connection was rese ...

  5. RHCE服务---Web

    网站需求:请给openlab搭建web网站 1.基于域名www.openlab.com可以访问网站内容为 welcome to openlab!!! 2.给该公司创建三个子界面分别显示学生信息,教学资 ...

  6. Cannot read properties of undefined (reading 'toUpperCase')

    无法读取 JS 中未定义的属性"toUpperCase"|鲍比哈兹 (bobbyhadz.com) 根据其中的内容找到了答案:使用了未定义的属性去使用toUpperCase()函数 ...

  7. cephadm 安装部署 ceph 集群

    介绍 手册: https://access.redhat.com/documentation/zh-cn/red_hat_ceph_storage/5/html/architecture_guide/ ...

  8. 3、XmlBeanFactory 对xml文件读取

    全局目录.md 引子 1.容器最基本使用.md 系列1 - bean 标签解析: 2.XmlBeanFactory 的类图介绍.md 3.XmlBeanFactory 对xml文件读取.md 4.xm ...

  9. 理解String、StringBuilder和StringBuffer

    1. String.StringBuilder和StringBuffer异同 相同点:底层都是通过char数组实现的 不同点: String对象一旦创建,其值是不能修改的,如果要修改,会重新开辟内存空 ...

  10. Puppeteer+RabbitMQ:Node.js 批量加工pdf服务架构设计与落地

    全文约8500字,阅读时长约10分钟. 智慧作业最近上线「个性化手册」(简称个册)功能,一份完整的个性化手册分为三部分: •学情分析:根据学生阶段性的学习和考试情况进行学情分析.归纳.总结,汇总学情数 ...