不知道各位小伙伴用过 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 之后发现,它已经帮我们显示了它加载了哪些插件



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

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

从零开始配置 vim(16)——启动界面配置的更多相关文章

  1. Hyper-v Server安装与配置-新加GUI界面配置工具介绍

    650) this.width=650;" onclick='window.open("http://blog.51cto.com/viewpic.php?refimg=" ...

  2. 配置ubuntu 16.04.1 LTS odoo 10.0开发环境

    使用VMware Fusion 8.5.0创建ubuntu 64bit虚拟机:使用ubuntu-16.04.1-desktop-amd64.iso镜像缺省安装ubuntu,用户名odoo,密码1234 ...

  3. [VSTS] 从零开始 Team Foundation Server 2010 安装配置详细图文教程

    http://www.cnblogs.com/WilsonWu/archive/2011/11/24/2261674.html 近期公司要配TFS用于新项目的管理,公司也将逐步迁移至VSTS平台,前期 ...

  4. RHEL/CentOS 7 中配置 PXE 网络启动服务器

    RHEL/CentOS 7 中配置 PXE 网络启动服务器 作者: Matei Cezar 译者: LCTT joeren | 2015-02-17 14:28   评论: 13 收藏: 8 分享:  ...

  5. LINUX操作系统VIM的安装和配置

    VIM的安装   在命令行敲入"vi"后按"tab"键,可以看到目前系统中只安装了vi和vim.tiny. vim是从VI发展而来的一个文本编辑器,功能更强大. ...

  6. 从零开始学 Java - Spring 集成 ActiveMQ 配置(二)

    从上一篇开始说起 上一篇从零开始学 Java - Spring 集成 ActiveMQ 配置(一)文章中讲了我关于消息队列的思考过程,现在这一篇会讲到 ActivMQ 与 Spring 框架的整合配置 ...

  7. P6 EPPM 安装与配置指南 16 R1 2016.4

       关于安装和 配置P6 EPPM 本指南告诉你如何自动 安装和配置您的应用程序. 在您开始之前,阅读 先决条件 P6 EPPM配置 (7页). 安装P6 EPPM 您将使用 安装程序 (窗口) . ...

  8. 配置系统引导启动SuperScoekt

    配置系统引导启动SuperScoekt SuperSocket源码解析之启动过程 一 简介 这里主要说明从配置系统引导启动SuperScoekt作为应用程序,且以控制台程序方式启动 二 启动过程 2. ...

  9. [转]Linux(centOS6.5)下SVN的安装、配置及开机启动

    1.检查是否已安装 rpm -qa subversion 如果要卸载旧版本: yum remove subversion 2.安装 yum install subversion PS:yum inst ...

  10. mysql5.6.16绿色版配置、运行

    原文:mysql5.6.16绿色版配置.运行 1.从该地址http://dev.mysql.com/downloads/mysql/中选择windows的版本,选择下载. 2.将下载的压缩包解压. 3 ...

随机推荐

  1. Hadoop面试题(一)

    1.集群的最主要瓶颈 磁盘IO 2.Hadoop运行模式 单机版.伪分布式模式.完全分布式模式 3.Hadoop生态圈的组件并做简要描述 1)Zookeeper:是一个开源的分布式应用程序协调服务,基 ...

  2. Linux day2:文件和文件夹相关命令 文件内容编辑命令 Linux常用目录 Linux重要文件

    目录 问题说明 前期必备知识 系统运行命令 shutdown -c 快捷方式命令 ctrl+e 目录结构相关命令 mkdir -p 文件和文件夹相关命令 创建文件 touch 查看文件和目录 ls - ...

  3. ifelse优化方案

    优化 if else:https://blog.csdn.net/FBB360JAVA/article/details/103832405 利用java8特性优化: https://blog.csdn ...

  4. 大数据(3)---HDFS客户端命令及java连接

    一.参数设置 之前有说到HDFS的备份数量和切块大小都是可以配置的,默认是备份3,切块大小默认128M 文件的切块大小和存储的副本数量,都是由客户端决定! 所谓的由客户端决定,是通过客户端机器上面的配 ...

  5. python global函数的使用

    1.在全局变量与局部变量均存在时自定义的函数优先使用局部变量,自定义函数并不能改变全局变量的值. 查看运行结果:  2.在没有局部变量时,使用全局变量,且函数内部不能改变全局变量的值  查看运行结果: ...

  6. Kubernetes 权限管理

    1. 概述 Kubernetes 中用户分登陆用户和 service account.登陆用户可通过 kubectl config 查看上下文,以及当前上下文: [root@chunqiu ~ (Ma ...

  7. 基于Java 的商城网站系统设计与实现(8000字论文)

    摘要 随着我国经济活力的不断提升和互联网的快速发展,信息的重要性正在显现出来.电子商务作为经济发展的重要一环取得了突飞猛进的发展.由于具有高效便捷的优点,网上购物已经成为一种不可或缺的新型生活方式,近 ...

  8. python毕业设计选题15例,马上要毕业啦,大家做好准备了没

    Hi,大家好,大四的同学马上要开始毕业设计啦,大家做好准备了没! 学长给大家详细整理了最新的python计算机毕设相关选题,对选题有任何疑问,都可以问学长哦. 1. 网上商城系统 这是一个基于pyth ...

  9. Oracle19c on 银河麒麟的安装与升级

    Oracle19c on 银河麒麟的安装与升级 下载内容 preinstall CentOS8 https://yum.oracle.com/repo/OracleLinux/OL8/appstrea ...

  10. 通过宿主机查看K8S或者是容器内的Java程序的简单方法

    通过宿主机查看K8S或者是容器内的Java程序的简单方法 背景 最近一个项目的环境出现了 cannot create native process 的错误提示 出现这个错误提示时, docker ex ...