天天看點

從零開始配置 vim(16)——啟動界面配置

不知道各位小夥伴用過 ​

​spacevim​

​​ 或者 ​

​LunarVim​

​​ 又或者 ​

​doomvim​

​​ 或者其他的什麼 ​

​vim​

​ 配置架構,我們發現他們的啟動界面都做的比較好看,而我們預設進入的啟動界面則顯得比較素了。這篇文章我們将來教大家使用插件打造屬于自己的啟動界面

使用 dashboard-nvim 插件

這部分我主要使用的是插件 ​

​dashboard-nvim​

​ 。與之前的插件類似,我們可以使用下面的語句來安裝

use {'glepnir/dashboard-nvim'}      

我們可以使用如下語句來加載該插件

local db = require("dashboard")      

然後我們重新進入 ​

​neovim​

​ 之後,發現它已經給我們顯示了一個預設的啟動界面

從零開始配置 vim(16)——啟動界面配置

針對啟動界面的配置分為三個部分,顯示頭資訊、中間内容以及底部的内容。我們來分别對其進行配置

配置顯示頭

圖中使用藍色顯示的 dashboard為顯示頭,我們可以使用 custom_header變量進行配置。官方貼心的給了很多使用ascii字元顯示的圖檔可以供我們選擇(​​ascii-text-header​​),例如我們使用如下的配置

db.custom_header = {
       '   ⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣴⣶⣶⣶⣶⣶⠶⣶⣤⣤⣀⠀⠀⠀⠀⠀⠀ ',
       ' ⠀⠀⠀⠀⠀⠀⠀⢀⣤⣾⣿⣿⣿⠁⠀⢀⠈⢿⢀⣀⠀⠹⣿⣿⣿⣦⣄⠀⠀⠀ ',
       ' ⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⠿⠀⠀⣟⡇⢘⣾⣽⠀⠀⡏⠉⠙⢛⣿⣷⡖⠀ ',
       ' ⠀⠀⠀⠀⠀⣾⣿⣿⡿⠿⠷⠶⠤⠙⠒⠀⠒⢻⣿⣿⡷⠋⠀⠴⠞⠋⠁⢙⣿⣄ ',
       ' ⠀⠀⠀⠀⢸⣿⣿⣯⣤⣤⣤⣤⣤⡄⠀⠀⠀⠀⠉⢹⡄⠀⠀⠀⠛⠛⠋⠉⠹⡇ ',
       ' ⠀⠀⠀⠀⢸⣿⣿⠀⠀⠀⣀⣠⣤⣤⣤⣤⣤⣤⣤⣼⣇⣀⣀⣀⣛⣛⣒⣲⢾⡷ ',
       ' ⢀⠤⠒⠒⢼⣿⣿⠶⠞⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⣼⠃ ',
       ' ⢮⠀⠀⠀⠀⣿⣿⣆⠀⠀⠻⣿⡿⠛⠉⠉⠁⠀⠉⠉⠛⠿⣿⣿⠟⠁⠀⣼⠃⠀ ',
       ' ⠈⠓⠶⣶⣾⣿⣿⣿⣧⡀⠀⠈⠒⢤⣀⣀⡀⠀⠀⣀⣀⡠⠚⠁⠀⢀⡼⠃⠀⠀ ',
       ' ⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣷⣤⣤⣤⣤⣭⣭⣭⣭⣭⣥⣤⣤⣤⣴⣟⠁    ',
}      

我們再次打開就發現頭已經變成哆啦A夢了。

從零開始配置 vim(16)——啟動界面配置

如果你喜歡彩色樣式的話,官方已經給出了解決辦法了。可以通過 ​

​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​

​。

再次打開,我們發現它已經可以顯示這些内容了

并且我們在最後一項回車,發現它打開了目前配置檔案

從零開始配置 vim(16)——啟動界面配置

各位可以嘗試一下,它并不能幫助我們自動将 ​

​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​

​ 之後發現,它已經幫我們顯示了它加載了哪些插件

從零開始配置 vim(16)——啟動界面配置

我們發現關于主題的插件它加載了兩個,後面我們可以選擇注釋掉一個。