mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-02-02 20:30:05 +08:00
A community-driven modular vim/neovim distribution - The ultimate vimrc
9e80d9bbfa
* fonts: Ensure mkfontscale is installed When installing fonts, we have a silent igored error about missing `mkfontscale` (and `mkfontdir`). Add a requirements check for it, and 'need' it when actually attempting to install fonts. * fetch_repo: Never change a directory It is bad practice to change the currents shell working directory. E.g. never use 'cd' in a script. For example, if `git pull` crashes, it would leave the user in the git directory 'somewhere' on his filesystem, potentially causing confusion, as the following `cd -` command is never executed. There are of course always exceptions, such as when tooling does not (easily) support out of tree invocation. To solve this, run the command in a subshell, which won't touch the current working directory as the exit of the subshell kept the previous working directory. A more difficult alternative would be to pass `--git-dir` and `--work-tree` along to git, but this would make it far harder to read. * fetch_repo: Do not duplicate code all over There is no reason to put `need 'git'` all over the place, when the only time we truly need it, is if we pull the repo. Make the code a little less cluttered and a bit easier to read. * install: Support XDG_CONFIG_HOME Add support for the XDG specification for XDG_CONFIG_HOME. NeoVIM already follows this, regular vim needs a bit of help there. Closes: #3517 * SpaceVim.d: Support XDG paths Signed-off-by: Olliver Schinagl <oliver@schinagl.nl> Signed-off-by: Olliver Schinagl <oliver@schinagl.nl> |
||
---|---|---|
.ci | ||
.github | ||
.SpaceVim.d | ||
after/syntax | ||
autoload | ||
bin | ||
bundle | ||
colors | ||
config | ||
doc | ||
docker | ||
docs | ||
ftplugin | ||
lua | ||
mode | ||
syntax | ||
test | ||
wiki | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.projections.json | ||
.stylua.toml | ||
.vintrc.yaml | ||
addon-info.json | ||
CODE_OF_CONDUCT.md | ||
codecov.yml | ||
CONTRIBUTING.cn.md | ||
CONTRIBUTING.md | ||
ginit.vim | ||
init.vim | ||
LICENSE | ||
Makefile | ||
README.cn.md | ||
README.md | ||
vimrc |
Quick Start Guide | Chat | Twitter
SpaceVim is a vim configuration inspired by spacemacs, it is compatible with Vim and Neovim.
The latest release v2.0.0 was released at 2022-07-02, check out following-HEAD page for what happened since last release.
Features
- Modularization: plugins and functions are organized in layers.
- Compatible api: a series of compatible APIs for Vim/Neovim.
- Great documentation: online documentation and
:h SpaceVim
. - Better experience: rewrite core plugins using lua
- Beautiful UI: you'll love the awesome UI and its useful features.
- Mnemonic key bindings: key binding guide will be displayed automatically
- Fast boot time: Lazy-load 90% of plugins with dein.vim
- Lower the risk of RSI: by heavily using the space bar instead of modifiers.
- Consistent experience: consistent experience between terminal and gui
Screenshots
Project Layout
├─ .ci/ build automation
├─ .github/ issue/PR templates
├─ .SpaceVim.d/ project specific configuration
├─ after/ overrule or add to the distributed defaults
├─ autoload/SpaceVim.vim SpaceVim core file
├─ autoload/SpaceVim/api/ Public APIs
├─ autoload/SpaceVim/layers/ available layers
├─ autoload/SpaceVim/plugins/ builtin plugins
├─ autoload/SpaceVim/mapping/ mapping guide
├─ colors/ default colorscheme
├─ docker/ docker image generator
├─ bundle/ bundle plugins
├─ lua/spacevim/plugin builtin plugins(lua)
├─ doc/ help(cn/en)
├─ docs/ website(cn/en)
├─ wiki/ wiki(cn/en)
├─ bin/ executable
└─ test/ tests
Contribute
This project wouldn't exist without all the people who contributed, We are thankful for any contributions from the community.
Credits
- Hack-SpaceVim by @Gabirel
- SpaceVimTutorial by @everettjf
- 10-minutes-to-SpaceVim by @Jackiexiao
- A First Look At SpaceVim by @DistroTube
- Getting Started With SpaceVim by FOSS King
- vimdoc generate doc file for SpaceVim
- Authors of all the plugins used in SpaceVim.