Rocky 9 Linux 平臺 vim 9.0 原始碼包編譯安裝踩坑記錄

2023-05-16 21:01:07

在上一篇 《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 依賴。

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—