SpaceVim不显示当前模式名,如何设置在屏幕左下角显示?
解决SpaceVim左下角显示当前编辑模式的问题
我之前折腾SpaceVim的时候也遇到过这个问题,想让模式名像原生Vim或者Spacemacs那样乖乖待在左下角,试了几个方法都管用,给你说说:
方法一:调整SpaceVim内置状态栏的模式位置
SpaceVim默认的状态栏里其实有模式显示,但默认在右侧。你只需要修改配置把它移到左侧:
- 打开你的SpaceVim自定义配置文件,一般是
~/.SpaceVim.d/init.toml(如果用toml格式配置),添加下面的内容:
[options] # 把模式显示放在状态栏左侧(对应屏幕左下角区域) statusline_mode = "left"
如果你的配置是vimscript格式(~/.SpaceVim.d/init.vim),就加这行:
let g:spacevim_statusline_mode_separator = 'left'
保存配置后重启SpaceVim,切换模式(比如按i进入插入模式),就能看到左下角显示INSERT、NORMAL这类模式名了。
方法二:自定义状态栏完全复刻原生Vim效果
如果你想完全和原生Vim的状态栏一致,可以关闭SpaceVim的默认状态栏,自己配置原生状态栏:
- 同样打开自定义配置文件,先关闭内置状态栏:
[options] enable_statusline = false
- 然后在
init.vim里添加原生状态栏的配置:
set statusline=%<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %P\ %{mode()}
这个配置里,%{mode()}就是在状态栏末尾(左下角)显示当前模式,其他部分和原生Vim的状态栏布局完全一致。
方法三:自定义状态栏组件(更灵活)
如果你想自定义状态栏的各个部分,包括模式显示的样式,可以在init.vim里写一个自定义状态栏的函数:
function! SpaceVim#statusline#custom() abort return [ \ ' %{toupper(mode())}', " 显示大写的模式名,加空格更美观 \ '%f %h%m%r', " 文件路径、帮助/修改/只读标记 \ '%=', " 分隔状态栏的左右部分 \ '%-14.(%l,%c%V%) %P', " 行号、列号、文档位置百分比 \ ] endfunction
这个函数会覆盖SpaceVim默认的状态栏,把模式名放在最左侧,也就是屏幕左下角的位置。
保存配置后重启SpaceVim,切换模式测试一下,应该就能看到你想要的效果啦!
内容的提问来源于stack exchange,提问作者aryndin
相关产品推荐
相关产品推荐

