我是一个
Vimer
党,你也来试试看?
1. 写作背景
正是因为痛过,所以才写了这篇博客。
作为一个常年使用
Python
语言编程的我来说,折腾配置和插件成了日常不可或缺的乐趣。可是,长年累月下来,折腾的确实有些倍感疲惫,各种插件对应的命令简直是五花八门,有使用的时候还真的就是记不住。所以决定使用SpaceVim
来代替自己之前的,将其用作主力编程工具。我们知道
SpaceVim
是一个社区驱动的模块化Vim IDE
工具,以模块的方式组织管理插件以及相关配置, 为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全, 语法检查、格式化、调试、REPL
等特性。但是,
SpaceVim
对应的文档缺很难做到实时的更新和中英文同步,这就导致如果你不实时的关注社区的讨论就很难了解到对应的新特性和新功能。对于该工具来说,总不能总是让你去自己摸索,这个功能对应的快捷键是什么或者该快捷键对应什么功能吧。工具,就是为了方便我们的开发或者工作效率。如果写一个项目,折腾工具就需要花费数周来研究怎么使用,那么当初就应该选择对应的
IDE
工具,岂不快哉。正是因为痛过,所以才懂得了软件文档的重要性,它是支撑软件继续走下去和普及性的重要组成部分,不可或缺。这也让我之后写项目的时候,时时提醒自己文档说明的重要性,为己也为他人,何乐而不为呢!
该博客不是为了让你成为一个斗气王者,而是让你知道该工具的设计思路和使用方法,即少走弯路或者不走弯路,将有限的时间进行合理的使用。还有一点我需要着重强调下,那就是多多练习,直到慢慢熟悉使用。那么,现在就开始吧。
2. 安装使用
对应新手来说,完成体的安装还是有一定困难度的。
- [1] 安装 SpaceVim 工具
# 需要先安装git和curl工具
$ brew install git
$ brew install curl
# SpaceVim是基于neovim的IDE工具
$ brew install neovim
# 运行该指令之后会提示安装/卸载相关命令
$ curl -sLf https://spacevim.org/cn/install.sh | bash -s -- -h
# 自动更新(配置文件)
automatic_update = 1
# 手动更新(编辑模式)
:SPUpdate SpaceVim
# 手动更新(通过git)
git pull
- [2] 安装对应依赖和插件
# 安装结束后,第一次使用vim时会自动下载并安装插件
# 有两个模式可以选择,一般选择第一个(dark powered mode)就可以了
- [3] 设置 vim 命令行工具
# 在term2中使用vim依旧打开的是低版本的vim工具
$ echo 'alias vi="nvim"' >> ~/.zshrc
$ echo 'alias vim="nvim"' >> ~/.zshrc
$ source ~/.zshrc
- [4] 设置 Powerline 字体
# 如果没有安装字体库的话,你的界面会有很多显示问号地方
# 字体我们使用 https://github.com/ryanoasis/nerd-fonts
$ brew tap caskroom/fonts
$ brew cask install font-hack-nerd-font
- [5] 对应命令行工具的配置
# 不管是系统自带的Terminal,还是term2工具,都需要进行字体配置
3. 配置说明
好的配置,能够让你的编程效率以及使用方向更加精确。
配置文件
- 默认配置文件为
~/.SpaceVim.d/init.toml
- 配置文件的格式总是变来变去,头都有点痛了呀
- 默认配置文件为
配置示例
显著特性
- 可以通过
:h SpaceVim
来访问其帮助文档 - 如果熟练使用快捷键的话,可以确保手指不离开主键盘区域
- 使用
dein.vim
插件,让可以让其他插件做到按需载入 - 之所以叫
SpaceVim
,就是因为很多快捷键都是以空格键作为第一个键 - 依赖于
Neovim
的romote
插件以及异步API
机制
- 可以通过
# 所有的SpaceVim配置选项都列在[option]之下
[options]
# 设置SpaceVim主题及背景
# 默认是gruvbox主题,可以载入colorscheme模块进行选择
colorscheme = "gruvbox"
# 背景可以取值dark和light
colorscheme_bg = "dark"
# 启用/禁用终端真色,禁用终端真色,可将下值设为false
enable_guicolors = true
# 设置状态栏上分割符号形状,默认为箭头arrow
# 如果字体安装失败,可以将值设为nil以禁用分割符号
statusline_separator = "nil"
statusline_separator = "bar"
# 设置顶部标签列表序号类型,有以下五种类型
# 0: 1 ➛ ➊
# 1: 1 ➛ ➀
# 2: 1 ➛ ⓵
# 3: 1 ➛ ¹
# 4: 1 ➛ 1
buffer_index_type = 4
# 显示/隐藏顶部标签栏上文件类型图标,这一图标需要安装nerd字体
# 如果未能成功安装这一字体,可以隐藏图标,来避免强迫症突然发作
enable_tabline_filetype_icon = true
# 是否在状态栏上显示当前模式,默认情况下不显示
# 不显示的情况下,以字样的颜色来区分当前模式状态
enable_statusline_display_mode = false
# SpaceVim模块设置,主要包括启用/禁用模块
# 启用autocomplete模块, 启用模块时可添加模块选项
[[layers]]
name = "autocomplete"
auto-completion-return-key-behavior = "complete"
auto-completion-tab-key-behavior = "cycle"
# 禁用shell模块, 禁用模块需要加入enable = false
[[layers]]
name = "shell"
enable = false
# 添加自定义插件
[[custom_plugins]]
name = "lilydjwg/colorizer"
merged = 0