纯手工打造的一款 Vim 状态栏,绝对极客范

阅读 1767
收藏 18
2017-07-01
原文链接:www.jianshu.com

首先说明一下为什么要手工打造这样一个状态栏, 大多数 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
  • 文件类型: 即为 FileType, 提示当前文件的文件类型:

    filetype
  • 功能选项卡: 这样翻译不知道对不对,这个模块展示的是 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 : github.com/SpaceVim/Sp…

评论