在上一篇 《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. Spring-设计模式

    1.1开闭原则 开闭原则(open-closed principle,OCP)是指一个软件实体(如类,模块和函数)应该对扩展开放,对修改关闭.所谓的开闭,也正是对扩展和修改两个行为的一个原则. 强调用 ...

  2. vsftpd配置FTP服务器(Centos7.x安装)

    安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | grep vsftpdvsftpd-2.2.2-24.el6.x86_64 如果有展示则已经安装,不需要重新安装 ...

  3. 【OGF生成函数板子题】牛客编程巅峰赛S2第11场 C 挑选方案问题

    upd 2022-01-26 我找到了个题集 牛客竞赛数学专题班生成函数I(线性递推关系.生成函数概念与公式推导.暴力计算) 目录 题目链接 题面 解题思路 AC代码 题目链接 https://ac. ...

  4. Java面试——缓存

    一.什么是缓存 [1]缓存就是数据交换的缓冲区(称作:Cache),当某一硬件要读取数据时,会首先从缓存中查询数据,有则直接执行,不存在时从磁盘中获取.由于缓存的数据比磁盘快的多,所以缓存的作用就是帮 ...

  5. JVM——锁

    对象头[每个对象都具有对象头] Mark:对象头的标记(32位),描述对象的 hash.锁信息.垃圾回收标记.年龄:内容包括:①.指向锁记录的指针:②.指向 monitor 的指针:③.GC 标记:④ ...

  6. Schillace 定律 背后的 Sam Schillace

    微软semantic-kernel(SK)团队发布了一篇博客文章:Early Lessons From GPT-4: The Schillace Laws[1] ,微软的CVP , Deputy CT ...

  7. MYSQL DQL语句(基础)

    MySQL引入 数据库的好处 持久化数据到本地 可以实现结构化查询,方便管理 数据库的相关概念 DB:数据库(database):存储数据的"仓库",它保存了一系列有组织的数据. ...

  8. 原来还能这样看Java线程的状态及转换

    作者:小牛呼噜噜 | https://xiaoniuhululu.com 计算机内功.JAVA底层.面试.职业成长相关资料等更多精彩文章在公众号「小牛呼噜噜」 大家好,我是呼噜噜,最近一直在梳理Jav ...

  9. PHP 微信三方平台代公众号发起网页授权 获取用户信息

    1.获取code 2.通过授权回调地址的code获取用户access_token和open_id 3.通过access_token和open_id 获取用户基本信息 class wx_user { p ...

  10. 19.3 对FAT的支持(harib16c)

    19.3 对FAT的支持(harib16c) 问题:可以正确显示文件开头的512字节的内容,但大于512字节的部分不能正确显示(可能会显示其他文件). 问题本质:磁盘可能将大于512字节的文件离散的保 ...