手工打造一个模块化的状态栏 - SpaceVim statusline

首先说明一下为什么要手工打造这样一个状态栏, 大多数 Vim 用户使用 vim-airline 做为默认的状态栏。其实在这之前我也用了很久,但是 vim-airline 启动速度非常慢,并且由于扩展太多导致使用过程中卡顿比较严重,因此我才为 SpaceVim 定制了一个状态栏:

  1. 为了更好地展示 SpaceVim 各个组件载入情况:
  2. 为了更好地展示 SpaceVim 各个功能启用情况:
  3. 更加便捷地拓展模块

SpaceVim 状态栏启动后效果图如下:


spacevim statusline

SpaceVim 状态栏分为多个模块,每一个模块展示不同的信息。 默认情况下,包含如下8个部分:

  • 窗口 ID : 带圈数字即为当前窗口 ID, 可以快捷低使用 SPC + ID 来在各个窗口之间跳转。 该模块背景色提示当前的模式(Normal/Visual/Insert).
    windows id
  • 文件信息: 该模块展示当前文件的大小、文件名、以及改动是否已保存:
    file info
  1. 文件类型: 即为 FileType, 提示当前文件的文件类型:
    filetype
  2. 功能选项卡: 这样翻译不知道对不对,这个模块展示的是 SpaceVim 已启用的功能,每一种已启用的功能都会有相应的图标展示:
    feature list
快捷键 图标 功能描述
SPC t 8 高亮每行超过指定长度的字符
SPC t f 高亮指定宽度列,默认为80
SPC t s 启用自动语法检查
SPC t S 启用自动拼写检查
SPC t w 启用行为空格检测
  • 版本分支: 对于启用了版本控制系统的项目,会在这一模块中展示当前分支名称:

    branch

  • 文件格式: 展示当前文件格式(dos/unix)和编码格式(默认 utf-8):

    file format

  • 光标位置: 提示当前光标位置信息(行数:列数), 显示/隐藏 的快捷键为 SPC t m p .

    cursor position

  • 当前位置百分比: 展示当前屏幕所在位置为整个文档的百分比, 如果在首行则显示为 Top, 尾行则显示为 Bot, 如果整篇文档都在屏幕中则显示为All

    position

以上八个模块是默认情况下已启用的模块, SpaceVim 状态难还支持其他一些模块,可以通过快捷键来启用或者隐藏:

  • 当前时间: 快捷键为 SPC t m t

    time

  • 电池信息: 快捷键为 SPC t m b

    battery status

此外还有一些待开发的模块组件,如果有兴趣的朋友,可以关注下我们项目的开发进度,也可以安装体验下这一项目,说不定有意外的惊喜!

项目 github : https://github.com/SpaceVim/SpaceVim

想要了解更多关于 SpaceVim 的相关信息,欢迎访问:

  • 中文官网: https://spacevim.org/cn/
  • gitter 交流群: https://gitter.im/SpaceVim/cn/
  • telegram 交流群: https://t.me/SpaceVim_cn

你可能感兴趣的:(手工打造一个模块化的状态栏 - SpaceVim statusline)