不知道各位小夥伴用過
spacevim
或者
LunarVim
又或者
doomvim
或者其他的什麼
vim
配置架構,我們發現他們的啟動界面都做的比較好看,而我們預設進入的啟動界面則顯得比較素了。這篇文章我們将來教大家使用插件打造屬于自己的啟動界面
使用 dashboard-nvim 插件
這部分我主要使用的是插件
dashboard-nvim
。與之前的插件類似,我們可以使用下面的語句來安裝
use {'glepnir/dashboard-nvim'}
我們可以使用如下語句來加載該插件
local db = require("dashboard")
然後我們重新進入
neovim
之後,發現它已經給我們顯示了一個預設的啟動界面
針對啟動界面的配置分為三個部分,顯示頭資訊、中間内容以及底部的内容。我們來分别對其進行配置
配置顯示頭
圖中使用藍色顯示的 dashboard為顯示頭,我們可以使用 custom_header變量進行配置。官方貼心的給了很多使用ascii字元顯示的圖檔可以供我們選擇(ascii-text-header),例如我們使用如下的配置
db.custom_header = {
' ⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣴⣶⣶⣶⣶⣶⠶⣶⣤⣤⣀⠀⠀⠀⠀⠀⠀ ',
' ⠀⠀⠀⠀⠀⠀⠀⢀⣤⣾⣿⣿⣿⠁⠀⢀⠈⢿⢀⣀⠀⠹⣿⣿⣿⣦⣄⠀⠀⠀ ',
' ⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⠿⠀⠀⣟⡇⢘⣾⣽⠀⠀⡏⠉⠙⢛⣿⣷⡖⠀ ',
' ⠀⠀⠀⠀⠀⣾⣿⣿⡿⠿⠷⠶⠤⠙⠒⠀⠒⢻⣿⣿⡷⠋⠀⠴⠞⠋⠁⢙⣿⣄ ',
' ⠀⠀⠀⠀⢸⣿⣿⣯⣤⣤⣤⣤⣤⡄⠀⠀⠀⠀⠉⢹⡄⠀⠀⠀⠛⠛⠋⠉⠹⡇ ',
' ⠀⠀⠀⠀⢸⣿⣿⠀⠀⠀⣀⣠⣤⣤⣤⣤⣤⣤⣤⣼⣇⣀⣀⣀⣛⣛⣒⣲⢾⡷ ',
' ⢀⠤⠒⠒⢼⣿⣿⠶⠞⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⣼⠃ ',
' ⢮⠀⠀⠀⠀⣿⣿⣆⠀⠀⠻⣿⡿⠛⠉⠉⠁⠀⠉⠉⠛⠿⣿⣿⠟⠁⠀⣼⠃⠀ ',
' ⠈⠓⠶⣶⣾⣿⣿⣿⣧⡀⠀⠈⠒⢤⣀⣀⡀⠀⠀⣀⣀⡠⠚⠁⠀⢀⡼⠃⠀⠀ ',
' ⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣷⣤⣤⣤⣤⣭⣭⣭⣭⣭⣥⣤⣤⣤⣴⣟⠁ ',
}
我們再次打開就發現頭已經變成哆啦A夢了。
如果你喜歡彩色樣式的話,官方已經給出了解決辦法了。可以通過
lolcat
或者
ueberzug
來生成彩色圖檔,然後嵌入到
custom_header
變量中。這裡就不過多示範了
定義中間部分
中間部分表示的是它顯示為
Please Config your own center section
這塊的内容。我們可以使用
custom_center
來定義
custom_center
是一個
table
。它的每個部分對應着一條顯示。每條顯示和功能我們可以使用如下字段來進行定制
-
: 目前顯示圖示icon
-
:某個功能的描述資訊,後面會原樣顯示出來desc
-
:快捷鍵shortcut
-
:在某項位置回車時執行的指令action
我們按照官方給出的截圖上的功能進行定義
db.custom_center = {
{icon = " ", desc = 'Recently lastest session ', shortcut = "Leader s l", action = ""},
{icon = " ", desc = "Recently opened files ", shortcut = "Leader f h", action = ""},
{icon = " ", desc = "Find File ", shortcut = "leader f f", action = ""},
{icon = " ", desc = "File Browser ", shortcut = "leader f b", action = ""},
{icon = " ", desc = "Find Word ", shortcut = "leader f w", action = ""},
{icon = " ", desc = "Open Personal dotfiles ", shortcut = "leader e e", action = "edit $MYVIMRC"}
}
其他地方的功能我們先不管,暫時在
action
這個字段上填上空,我們先實作最後打開個人配置檔案那個位置的代碼,我們在
action
中填入
edit $MYVIMRC
。
再次打開,我們發現它已經可以顯示這些内容了
并且我們在最後一項回車,發現它打開了目前配置檔案
各位可以嘗試一下,它并不能幫助我們自動将
shortcut
字段與
action
結合綁定為快捷鍵。僅僅作為一行的幾個元素進行顯示而已。而
action
則是按下回車會執行的指令
footer 定義
footer這部分與之前定義 header類似,也是一個 table組成的字元串。 這裡我們可以對他進行一些擴充,例如我這裡可以使用下面的函數擷取到底加載了哪些插件作為我們優化啟動速度的依據
db.custom_footer = function()
local footer = {'', '🎉 Have fun with neovim'}
if packer_plugins ~= nil then
local count = #vim.tbl_keys(packer_plugins)
footer[2] = '🎉 neovim loaded ' .. count .. ' plugins'
for key, value in pairs(packer_plugins) do
table.insert(footer, '✨ ' .. key)
end
end
print(footer)
return footer
end
我們再次重新開機
neovim
之後發現,它已經幫我們顯示了它加載了哪些插件
我們發現關于主題的插件它加載了兩個,後面我們可以選擇注釋掉一個。