vim 配置(从零开始配置vim16)

不知道各位小伙伴用过 spacevim或者 LunarVim又或者 doomvim或者其他的什么 vim配置框架,我们发现他们的启动界面都做得比较好看,而我们默认进入的启动界面则显得比较素了。这篇文章我们将来教大家使用插件打造属于自己的启动界面

使用 dashboard-nvim 插件

这部分我主要使用的是插件 dashboard-nvim 。与之前的插件类似,我们可以使用下面的语句来安装

use {'glepnir/dashboard-nvim'}

我们可以使用如下语句来加载该插件

local db = require("dashboard")

然后我们重新进入 neovim 之后,发现它已经给我们显示了一个默认的启动界面

vim 配置(从零开始配置vim16)(1)

针对启动界面的配置分为三个部分,显示头信息、中间内容以及底部的内容。我们来分别对其进行配置

配置显示头

图中使用蓝色显示的 dashboard为显示头,我们可以使用 custom_header变量进行配置。官方贴心地给了很多使用ascii字符显示的图片可以供我们选择(ascii-text-header),例如我们使用如下的配置

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

我们再次打开就发现头已经变成哆啦A梦了。

vim 配置(从零开始配置vim16)(2)

如果你喜欢彩色样式的话,官方已经给出了解决办法了。可以通过 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 配置(从零开始配置vim16)(3)

各位可以尝试一下,它并不能帮助我们自动将 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 配置(从零开始配置vim16)(4)

我们发现关于主题的插件它加载了两个,后面我们可以选择注释掉一个。

本篇就到此结束了,剩下的插件我们在下一篇继续介绍

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页