- 优雅的界面
- 颜色主题
- 字体
- 界面元素切换
- 状态栏
- 标签栏
优雅的界面
SpaceVim 集成了多种使用 UI 插件,如常用的文件树、语法树等插件,配色主题默认采用的是 gruvbox。
颜色主题
默认的颜色主题采用的是 gruvbox。这一主题有深色和浅色两种。关于这一主题一些详细的配置可以阅读 :h gruvbox。
如果需要修改 SpaceVim 的主题,可以在 ~/.SpaceVim.d/init.toml 中修改 colorscheme。例如,使用 Vim 自带的内置主题 desert:
[options]colorscheme = "desert"colorscheme_bg = "dark"
| 快捷键 | 描述 |
|---|---|
SPC T n |
切换至下一个随机主题 |
SPC T s |
通过 Unite 选择主题 |
可以在主题模块中查看 SpaceVim 支持的所有主题。
注意:
SpaceVim 在终端下默认使用了真色,因此使用之前需要确认下你的终端是否支持真色。可以阅读 Colours in terminal 了解根多关于真色的信息。
如果你的终端不支持真色,可以在 SpaceVim 用户配置 [options] 中禁用真色支持:
enable_guicolors = false
字体
在 SpaceVim 中默认的字体是 DejaVu Sans Mono for Powerline.如果你也喜欢这一字体,建议将这一字体安装到系统中。如果需要修改 SpaceVim 的字体,可以在用户配置文件中修改 guifont,默认值为:
guifont = "DejaVu\ Sans\ Mono\ for\ Powerline\ 11"
如果指定的字体不存在,将会使用系统默认的字体,此外,这一选项在终端下是无效的,终端下修改字体,需要修改终端自身配置。
界面元素切换
大多数界面元素可以通过快捷键来隐藏或者显示(这一组快捷键以 t 和 T 开头):
| 快捷键 | 描述 |
|---|---|
SPC t 8 |
高亮所有超过80列的字符 |
SPC t f |
高亮临界列,默认 max_column 是第 120 列 |
SPC t h h |
高亮当前行 |
SPC t h i |
高亮代码对齐线 |
SPC t h c |
高亮光标所在列 |
SPC t h s |
启用/禁用语法高亮 |
SPC t i |
切换显示当前对齐(TODO) |
SPC t n |
显示/隐藏行号 |
SPC t b |
切换背景色 |
SPC t t |
打开 Tab 管理器 |
SPC T ~ |
显示/隐藏 buffer 结尾空行行首的 ~ |
SPC T F |
切换全屏(TODO) |
SPC T f |
显示/隐藏 Vim 边框(GUI) |
SPC T m |
显示/隐藏菜单栏 |
SPC T t |
显示/隐藏工具栏 |
状态栏
core#statusline 模块提供了一个高度定制的状态栏,提供如下特性,这一模块的灵感来自于 spacemacs 的状态栏。
- 展示窗口序列号
- 通过不同颜色展示当前模式
- 展示搜索结果序列号
- 显示/隐藏语法检查信息
- 显示/隐藏电池信息
- 显示/隐藏 SpaceVim 功能启用状态
- 显示版本控制信息(需要 git 和 VersionControl 模块)
| 快捷键 | 描述 |
|---|---|
SPC [1-9] |
跳至制定序号的窗口 |
默认主题 gruvbox 的状态栏颜色和模式对照表:
| 模式 | 颜色 |
|---|---|
| Normal | 灰色 |
| Insert | 蓝色 |
| Visual | 橙色 |
| Replace | 浅绿色 |
以上的这几种模式所对应的颜色取决于不同的主题模式。
一些状态栏元素可以进行动态的切换:
| 快捷键 | 描述 |
|---|---|
SPC t m b |
显示/隐藏电池状态 (需要安装 acpi) |
SPC t m c |
toggle the org task clock (available in org layer)(TODO) |
SPC t m m |
显示/隐藏 SpaceVim 已启用功能 |
SPC t m M |
显示/隐藏文件类型 |
SPC t m n |
toggle the cat! (if colors layer is declared in your dotfile)(TODO) |
SPC t m p |
显示/隐藏鼠标位置信息 |
SPC t m t |
显示/隐藏时间 |
SPC t m d |
显示/隐藏日期 |
SPC t m T |
显示/隐藏状态栏 |
SPC t m v |
显示/隐藏版本控制信息 |
nerd 字体安装:
SpaceVim 默认使用 nerd fonts,可参阅其安装指南进行安装。
语法检查信息:
状态栏中语法检查信息元素如果被启用了,当语法检查结束后,会在状态栏中展示当前语法错误和警告的数量。
搜索结果信息:
当使用 / 或 ? 进行搜索时,或当按下 n 或 N 后,搜索结果序号将被展示在状态栏中,类似于 20/22 显示搜索结果总数以及当前结果的序号。具体的效果图如下:

电池状态信息:
acpi 可展示电池电量剩余百分比.
使用不同颜色展示不同的电池状态:
| 电池状态 | 颜色 |
|---|---|
| 75% - 100% | 绿色 |
| 30% - 75% | 黄色 |
| 0 - 30% | 红色 |
所有的颜色都取决于不同的主题。
状态栏分割符:
可通过使用 statusline_separator 来定制状态栏分割符,例如使用非常常用的方向箭头作为状态栏分割符:
statusline_separator = 'arrow'
SpaceVim 所支持的分割符以及截图如下:
| 分割符 | 截图 |
|---|---|
arrow |
![]() |
curve |
![]() |
slant |
![]() |
nil |
![]() |
fire |
![]() |
SpaceVim 功能模块:
功能模块可以通过 SPC t m m 快捷键显示或者隐藏。默认使用 Unicode 字符,可通过设置 statusline_unicode_symbols = false 来启用 ASCII 字符。(或许在终端中无法设置合适的字体时,可使用这一选项)。
状态栏中功能模块内的字符显示与否,同如下快捷键功能保持一致:
| 快捷键 | Unicode | ASCII | 功能 |
|---|---|---|---|
SPC t 8 |
⑧ | 8 | 高亮指定列后所有字符 |
SPC t f |
ⓕ | f | 高亮指定列字符 |
SPC t s |
ⓢ | s | 语法检查 |
SPC t S |
Ⓢ | S | 拼写检查 |
SPC t w |
ⓦ | w | 行尾空格检查 |
状态栏的颜色
当前版本的状态栏支持 gruvbox/molokai/nord/one/onedark,如果你需要使用其他主题,可以通过以下木板来设置:
" the theme colors should be" [" \ [ a_guifg, a_guibg, a_ctermfg, a_ctermbg]," \ [ b_guifg, b_guibg, b_ctermfg, b_ctermbg]," \ [ c_guifg, c_guibg, c_ctermfg, c_ctermbg]," \ [ z_guibg, z_ctermbg]," \ [ i_guifg, i_guibg, i_ctermfg, i_ctermbg]," \ [ v_guifg, v_guibg, v_ctermfg, v_ctermbg]," \ [ r_guifg, r_guibg, r_ctermfg, r_ctermbg]," \ [ ii_guifg, ii_guibg, ii_ctermfg, ii_ctermbg]," \ [ in_guifg, in_guibg, in_ctermfg, in_ctermbg]," \ ]" group_a: window id" group_b/group_c: stausline sections" group_z: empty area" group_i: window id in insert mode" group_v: window id in visual mode" group_r: window id in select mode" group_ii: window id in iedit-insert mode" group_in: windows id in iedit-normal modefunction! SpaceVim#mapping#guide#theme#gruvbox#palette() abortreturn [\ ['#282828', '#a89984', 246, 235],\ ['#a89984', '#504945', 239, 246],\ ['#a89984', '#3c3836', 237, 246],\ ['#665c54', 241],\ ['#282828', '#83a598', 235, 109],\ ['#282828', '#fe8019', 235, 208],\ ['#282828', '#8ec07c', 235, 108],\ ['#282828', '#689d6a', 235, 72],\ ['#282828', '#8f3f71', 235, 132],\ ]endfunction
这一模板是 gruvbox 主题的,如果你需要在切换主题是,状态栏都使用同一种颜色主题,可以设置 custom_color_palette:
custom_color_palette = [["#282828", "#a89984", 246, 235],["#a89984", "#504945", 239, 246],["#a89984", "#3c3836", 237, 246],["#665c54", 241],["#282828", "#83a598", 235, 109],["#282828", "#fe8019", 235, 208],["#282828", "#8ec07c", 235, 108],["#282828", "#689d6a", 235, 72],["#282828", "#8f3f71", 235, 132],]
标签栏
如果只有一个Tab, Buffers 将被罗列在标签栏上,每一个包含:序号、文件类型图标、文件名。如果有不止一个 Tab, 那么所有 Tab 将被罗列在标签栏上。标签栏上每一个 Tab 或者 Baffer 可通过快捷键 <Leader> number 进行快速访问,默认的 <Leader> 是 \。
| 快捷键 | 描述 |
|---|---|
<Leader> 1 |
跳至标签栏序号 1 |
<Leader> 2 |
跳至标签栏序号 2 |
<Leader> 3 |
跳至标签栏序号 3 |
<Leader> 4 |
跳至标签栏序号 4 |
<Leader> 5 |
跳至标签栏序号 5 |
<Leader> 6 |
跳至标签栏序号 6 |
<Leader> 7 |
跳至标签栏序号 7 |
<Leader> 8 |
跳至标签栏序号 8 |
<Leader> 9 |
跳至标签栏序号 9 |
标签栏上也支持鼠标操作,左键可以快速切换至该序号,中键删除该标签。该特性只支持 neovim,并且需要 has('tablineat') 特性。
| 按键 | 描述 |
|---|---|
<Mouse-left> |
掉至标签该序号标签 |
<Mouse-middle> |
删除该序号标签 |
标签管理器
可使用 SPC t t 打开内置的标签管理器,标签管理器内的快捷键如下:
| 按键 | 描述 |
|---|---|
o |
展开或关闭标签目录 |
r |
重命名光标下的标签页 |
n |
在光标位置下新建命名标签页 |
N |
在光标位置下新建匿名标签页 |
x |
删除光标下的标签页 |
<C-S-Up> |
向上移动光标下的标签页 |
<C-S-Down> |
向下移动光标下的标签页 |
<Enter> |
跳至光标所对应的标签窗口 |
