VIM 外掛推薦

語言: CN / TW / HK

VIM外掛安裝 - 打造程式碼編寫環境

筆者最近在學習嵌入式Linux,意識到程式碼編輯主要在桌面Linux系統上完成時,決定完善一下vim程式碼編寫環境,通過程式碼補全工具增加程式碼編寫體驗。

本篇文章中記錄了我安裝外掛、完善程式碼編寫環境的過程,包括如何安裝外掛管理器、程式碼補全工具、目錄管理樹,以及如何升級vim編輯器到8.2版本和在安裝coc.nvim後如何關閉版本警告。

文章中主要使用的系統是ubuntu18.04,其他版本的Linux系統可能無法使用文章中的一些指令。

vim外掛管理器:Vim-plug

1. 安裝

在終端執行以下命令,可能需要翻牆

$ curl -fLo ~/.vim/autoload/plug.vim --create-dirs http://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
# 如果沒有安裝curl,會有資訊提示你先安裝curl,可以使用以下指令進行安裝
# sudo apt-get install curl

2. 配置

vim的使用者配置檔案一般是~/.vimrc,使用vi編輯器開啟該檔案,並於末尾行插入以下內容

call plug#begin('~/.vim/plugged')
Plug 'mhinz/vim-startify'
call plug#end()

注意:在配置檔案中宣告外掛時,列表應以call plug#begin(PLUGIN_DIRECTORY)開始、以call plug#end()結束

3. 使用

使用vim指令開啟vim編輯器,使用命令列模式輸入以下命令進行操作

$ vim #開啟vim
:PlugStatus #檢視外掛狀態
:PlugInstall #安裝之前在配置檔案中宣告的外掛
:PlugUpdate #更新外掛
:PlugDiff #檢視外掛的變化狀態
:PlugClean #清除外掛

在宣告完外掛後,使用:PlugInstall安裝外掛,安裝完外掛使用:PlugStatus即可檢視外掛安裝狀態

確認外掛安裝完成後,連續輸入兩次:q即可退出vim編輯器

智慧補全外掛:coc.nvim

1. 安裝

coc.nvim依賴node.js,首先安裝nodejs

先通過網站Node.js (nodejs.org)檢視nodejs版本號

當前穩定版為16.x,開發版為17.x,這裡我選擇安裝穩定版,在終端執行:

$ curl -sL http://deb.nodesource.com/setup_16.x | sudo -E bash -
# 注意:這裡我選擇安裝穩定版,所以填入16.x,把16.x改為17.x則可以安裝最新版

等待源新增完畢,再執行:

sudo apt-get install -y nodejs

安裝完成後,可以執行以下命令驗證是否安裝成功

$ nodejs -v

返回版本號:v16.13.0

接著使用vim編輯器開啟~/.vimrc配置檔案,在之前的列表中加入

#call plug#begin('~/.vim/plugged') #之前列表位置
Plug 'neoclide/coc.nvim', {'branch': 'release'}
#call plug#end()

儲存退出,執行vim編輯器,使用:PlugInstall安裝宣告在配置檔案中的外掛

$ vim
:PlugInstall
:PlugStatus #安裝完成後可以通過PlugStatus檢視安裝是否成功
:CocInfo #在vim命令列中輸入這條命令檢視外掛資訊

2. 安裝C++自動補全服務

開啟clangd開源倉庫 GitHub - clangd/clangd: clangd language server 在右邊Releases處選擇發行版本

進入發行頁面,點選clangd-linux-13.0.0.zip下載壓縮包

進入到壓縮包下載路徑,使用unzip命令解壓壓縮包

$ unzip clangd-linux-13.0.0.zip

將解壓出來的檔案移動到/opt資料夾內,使用ln命令將檔案中bin目錄下的clangd連結到/usr/bin目錄下

$ sudo mv clangd_13.0.0 /opt
$ sudo ln /opt/clangd_13.0.0/bin/clangd /usr/bin/clangd

開啟vim編輯器,輸入以下指令安裝coc-clangd

:CocInstall coc-clangd

等待安裝完成,再次使用vim編輯器編輯文字時應該就有自動補全了

3. 啟動vim編輯器時的警告

在安裝完成之後啟用vim編輯器出現如下警告資訊,是coc.nvim要求更高版本的vim,可以通過在vim的配置檔案中新增let g:coc_disable_startup_warning = 1來關閉警告

$ sudo vim ~/.vimrc
# 插入如下文字
# let g:coc_disable_startup_warning = 1

也可以通過升級vim來關閉警告:

$ git clone http://github.com/vim/vim.git #下載原始碼
$ cd vim #進入原始碼資料夾
$ ./configure --with-features=huge --enable-gui=gtk2 --enable-cscope --prefix=/usr
# 配置資訊,可能會有點久
$ sudo make VIMRUNTIMEDIR=/usr/share/vim/vim82 #編譯原始碼
$ sudo make install #安裝

執行完上述步驟後,在終端輸入vim —version檢視vim版本,顯示版本為8.2即升級成功

目錄樹 - NERDTree

1. 安裝

用vim編輯器開啟~/.vimrc,在列表中加入下面的文字

#call plug#begin('~/.vim/plugged') #之前列表位置
Plug 'preservim/nerdtree'
#call plug#end()

儲存退出,進入vim編輯器執行:PlugInstall安裝外掛

2. 配置

NERDTree無需配置即可直接使用,在使用vim編輯文字時,在命令列模式下輸入NERDTree可以進入目錄樹介面

:NERDTree

也可以通過在.vimrc檔案中的列表之後加入以下內容

#call plug#begin('~/.vim/plugged') #之前列表位置
map <C-n> :NERDTreeToggle<CR> #使用Ctrl+n快捷鍵切換至目錄樹
#call plug#end()

儲存退出,下次使用vim編輯器編輯文字時即可通過快捷鍵Ctrl+n切換至目錄樹

3. 使用

?:幫助文件

o(open):開啟一個目錄或開啟檔案

go:開啟一個檔案,但游標仍留在目錄樹

t:建立新的標籤頁開啟檔案

T:建立新的標籤頁開啟檔案,但游標仍留在目錄樹

i:使用水平分割在新視窗開啟檔案

gi:使用水平分割在新視窗開啟檔案,游標仍留在目錄樹

s:使用垂直分割在新視窗開啟檔案

gs:使用垂直分割在新視窗開啟檔案,游標仍留在目錄樹

x:收起當前開啟的目錄

X:收起所有開啟的目錄

vim編輯器補充操作:

以下命令在一般模式下使用

gt:切換到下一個標籤頁

gT:切換到上一個標籤頁

:tabc(tab close):關閉當前標籤頁

Ctrl+w - (h/j/k/l):在多個視窗之間進行切換

:only:只保留當前選擇的視窗,關閉其他視窗