首页 > 系统相关 >Rocky 9 Linux 平台 vim 9.0 源码包编译安装踩坑记录

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

时间:2023-05-16 19:48:34浏览次数:53  
标签:Rocky 9.0 vim 源码 Linux root 安装

目录

image

在上一篇 《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 [email protected]           
[email protected]'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 依赖。

image

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

pp9CYh6.jpg

以上总结,仅供参考哟,希望对你的工作有所帮助!

—END—

标签:Rocky,9.0,vim,源码,Linux,root,安装
From: https://www.cnblogs.com/cnwangk/p/17406609.html

相关文章

  • Restful规范,drf安装和介绍和使用,APIView源码分析
    1Restful规范#RESTful是一种定义API接口的设计风格,AIP接口的编写规范,,尤其适用于前后端分离的应用模式中这种风格的理念认为后端开发任务就是提供数据的,对外提供的是数据资源的访问接口,所以在定义接口时,客户端访问的URL路径就表示这种要操作的数据资源我们可以使用任何一个......
  • 看源码技巧
    1.利用好idea的debug功能2.不要避重就轻,就是说先通读快读代码, 建立整体的概念,理解某个方法内重要的步骤有哪些,分成大块儿总结出来(不要一上来就一行一行的仔细看, 源码通常都很多很深, 一行行的看, 看到猴年马月)3.可以把代码粘出来,不重要的代码先该删的删掉,......
  • Angular ngZone 源码解析
    AngularngZone源码解析ngZone源码中有几个常用的方法,属性,这里做一个整理与总结Zone.js简介ZoneJs职责拦截异步任务的调度封装回调函数用于异常处理以及异步操作中zone的跟踪提供往zone中添加数据的方法提供上下文特定的最后一帧错误处理拦截阻塞方法Zone的底层异......
  • Spring源码:Bean生命周期(五)
    前言在上一篇文章中,我们深入探讨了Spring框架中Bean的实例化过程,该过程包括从Bean定义中加载当前类、寻找所有实现了InstantiationAwareBeanPostProcessor接口的类并调用实例化前的方法、进行实例化、调用applyMergedBeanDefinitionPostProcessors方法等多个步骤,最终生......
  • ubuntu20.04上vim的配置
    1打开配置文件sudovim/etc/vim/vimrc2将下面的代码复制进去runtime!debian.vimifhas("syntax")syntaxonendifsetnumber"显示行号colorschemedesertsetguifont=Consolas:h12:cANSIsetguifontwide=SimSun-ExtB:h12:cGB2312settabstop=4setexpa......
  • 08-接口自动化框架-源码
     原文链接:https://www.cnblogs.com/xiehong/p/14841538.html前言:以前弄过好多接口自动化框架的东西,比如httprunner2.0版本实现的接口自动化框架,还有httprunner3.X实现的接口自动化框架,这些都是开源的,实现起来比较简单。以及使用python+unittest+ddt+yaml等工具实现的接口自动......
  • app直播源码,css宽度不固定,水平居中
    app直播源码,css宽度不固定,水平居中1.相对定位:  #box{position:relative;left:50%;float:left;} #inner{position:relative;left:-50%;} ​需考虑浮动带来的问题 2.利用diplay:table来解决: #box{display:table;margin:0auto}/*不支持ie6,ie7*/  3.CSS3fl......
  • 直播系统app源码,滑块效果、slider用法
    直播系统app源码,滑块效果、slider用法    <viewclass="selconbox">    <viewclass="seltit">购买力</view>    <viewclass="progressbox">     <viewclass="zijintit"wx:if="{{price==0}}......
  • pmsm电阻电感磁链常数辨识源码 电阻,电感,磁链常数辨识。 程序
    pmsm电阻电感磁链常数辨识源码电阻,电感,磁链常数辨识。程序在tidsp实现。在ti开源foc框架基础上开发。能够辨识电机电阻,电感,磁链常数。精度较高,能够满足foc控制需要。辨识时间短,大约两秒完成电阻电感辨识。磁链辨识需要电机旋转。多次辨识,结果一致性好。辨识部分代码不包含寄存......
  • 基于STM32F407/STM32H743芯片和SOEM的E therCAT主站源码 提供配套CUBE工程和。
    基于STM32F407/STM32H743芯片和SOEM的EtherCAT主站源码提供配套CUBE工程和。可配套正点原子探索者开发板使用,或任何带以太网口的407/H743板子。支持DC同步。可配合汇川IS620N、埃斯顿ProNet、迈信EP3E、台达A2-E、伟创SD700、松下A5B/A6B和欧姆龙G5系列驱动器使用,或提供想适配的......