1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-23 17:20:04 +08:00
SpaceVim/README.md

188 lines
8.7 KiB
Markdown
Raw Normal View History

2017-02-25 15:27:15 +08:00
[![SpaceVim](https://spacevim.org/logo.png)](https://spacevim.org)
2017-10-07 22:57:35 +08:00
[Wiki](https://github.com/SpaceVim/SpaceVim/wiki) \|
2020-02-20 12:07:32 +08:00
[Quick start guide](https://spacevim.org/quick-start-guide/) \|
[Documentation](https://spacevim.org/documentation/) \|
2017-10-07 22:57:35 +08:00
[Community](https://spacevim.org/community/) \|
[Sponsors](https://spacevim.org/sponsors/) \|
2020-02-20 12:07:32 +08:00
[Twitter](https://twitter.com/SpaceVim) \|
2017-10-07 22:57:35 +08:00
[Gitter **Chat**](https://gitter.im/SpaceVim/SpaceVim) \|
[中文官网](https://spacevim.org/cn/)
2017-01-10 00:27:52 +08:00
2018-01-20 15:45:48 +08:00
[![Build Status](https://travis-ci.org/SpaceVim/SpaceVim.svg?branch=master)](https://travis-ci.org/SpaceVim/SpaceVim)
[![Build status](https://ci.appveyor.com/api/projects/status/eh3t5oph70abp665/branch/master?svg=true)](https://ci.appveyor.com/project/wsdjeg/spacevim/branch/master)
2020-08-04 22:24:37 +08:00
[![Docker Build Status](https://img.shields.io/docker/build/spacevim/spacevim.svg)](https://hub.docker.com/r/spacevim/spacevim/)
2018-01-20 15:45:48 +08:00
[![codecov](https://codecov.io/gh/SpaceVim/SpaceVim/branch/master/graph/badge.svg)](https://codecov.io/gh/SpaceVim/SpaceVim/branch/master)
2020-08-02 16:10:27 +08:00
![Version](https://img.shields.io/badge/version-1.6.0--dev-8700FF.svg)
2018-02-15 22:25:03 +08:00
[![GPLv3 License](https://img.shields.io/badge/license-GPLv3-blue.svg)](LICENSE)
2017-05-01 20:36:41 +08:00
[![Doc](https://img.shields.io/badge/doc-%3Ah%20SpaceVim-orange.svg)](doc/SpaceVim.txt)
2017-02-05 10:03:28 +08:00
## About SpaceVim
2018-12-23 12:13:43 +08:00
SpaceVim is a community-driven modular Vim distribution. It manages collections
of plugins in layers, which help to collect related packages together to provide IDE-like features.
2018-07-02 20:09:46 +08:00
SpaceVim is not just a vimrc but an ultimate Vim configuration, It contains many built-in features.
2020-08-01 23:16:10 +08:00
![welcome-page](https://user-images.githubusercontent.com/13142418/89103568-5ad59480-d445-11ea-9745-bd53e668b956.png)
2017-02-25 16:57:35 +08:00
2020-08-01 23:16:10 +08:00
The last release is v1.5.0, check out [following-HEAD](https://github.com/SpaceVim/SpaceVim/wiki/Following-HEAD) page for what happened since last release.
## Instructions
**See the followings below for more information:**
- [Quick Start Guide](https://spacevim.org/quick-start-guide/)
- [Documentation](https://spacevim.org/documentation/)
- [Available Layers](https://spacevim.org/layers/)
If you have any questions about SpaceVim, please follow the [Getting Help Guide](https://github.com/SpaceVim/SpaceVim/wiki/Getting-help).
2017-05-30 15:27:03 +08:00
2017-12-10 19:57:48 +08:00
<!-- vim-markdown-toc GFM -->
- [New Features](#new-features)
2017-12-10 19:57:48 +08:00
- [Project layout](#project-layout)
- [Support SpaceVim](#support-spacevim)
- [Credits & Thanks](#credits--thanks)
<!-- vim-markdown-toc -->
### New Features
This is a list of latest features implemented in SpaceVim:
2018-04-23 21:21:29 +08:00
**Use toml as default configuration**
Here is an example for using toml as SpaceVim config:
2018-04-23 21:21:29 +08:00
```toml
# This is basic configuration example for SpaceVim.
2018-04-23 21:21:29 +08:00
# All SpaceVim options below [options] snippet.
2018-04-23 21:21:29 +08:00
[options]
# Set SpaceVim theme. By default colorscheme layer is not loaded.
# If you want to use more colorschemes, please load the colorscheme
# layer.
2018-04-23 21:21:29 +08:00
colorscheme = "gruvbox"
2018-09-26 21:52:28 +08:00
colorscheme_bg = "dark"
2018-04-23 21:21:29 +08:00
# Disable guicolors in basic mode, many terminal do not support 24bit
# true colors
enable_guicolors = false
2018-04-23 21:21:29 +08:00
# Disable statusline separator, if you want to use other value, please
# install nerd fonts
statusline_separator = "nil"
statusline_inactive_separator = "bar"
2018-04-23 21:21:29 +08:00
buffer_index_type = 4
windows_index_type = 3
enable_tabline_ft_icon = false
enable_statusline_mode = false
statusline_unicode_symbols = false
# Enable Vim compatible mode, avoid changing origin Vim key bindings
vimcompatible = true
2018-04-23 21:21:29 +08:00
# Enable autocomplete layer
[[layers]]
name = 'autocomplete'
auto-completion-return-key-behavior = "complete"
auto-completion-tab-key-behavior = "cycle"
2018-04-23 21:21:29 +08:00
[[layers]]
name = 'shell'
default_position = 'top'
default_height = 30
2018-04-23 21:21:29 +08:00
```
**Iedit mode**
SpaceVim uses a powerful iedit mode to quick edit multiple occurrences of a symbol or selection. Two new modes:`iedit-Normal`/`iedit-Insert`.
The default color for iedit is `red`/`green` which is based on the current colorscheme.
2018-09-01 11:18:47 +08:00
![iedit mode](https://user-images.githubusercontent.com/13142418/44941560-be2a9800-add2-11e8-8fa5-e6118ff9ddcb.gif)
2018-02-15 21:02:45 +08:00
**Highlight cursor symbol**
SpaceVim supports highlighting of the current symbol on demand and adds
a transient state to easily navigate and rename this symbol.
![highlight cursor symbol](https://user-images.githubusercontent.com/13142418/36210381-e6dffde6-1163-11e8-9b35-0bf262e6f22b.gif)
2018-02-01 20:56:53 +08:00
[**Fly Grep in Vim**](https://spacevim.org/grep-on-the-fly-in-spacevim/)
With this feature, Vim will display the searching result as you type. Of course, it is running
2018-02-01 20:56:53 +08:00
asynchronously. Before using this feature, you need to install a searching tool. FlyGrep works
through search tools: `ag`, `rg`, `ack`, `pt` and `grep`, Choose one you like.
![searching project](https://user-images.githubusercontent.com/13142418/35278709-7856ed62-0010-11e8-8b1e-e6cc6374b0dc.gif)
[**Mnemonic key bindings navigation**](https://spacevim.org/mnemonic-key-bindings-navigation/)
2018-01-30 20:33:04 +08:00
You don't need to remember any key bindings, as the mapping guide will show up after the <kbd>SPC</kbd> is pressed.
The mapping guide is also available for `g`, `z`, and `s`.
2017-10-01 20:32:36 +08:00
![float_guide](https://user-images.githubusercontent.com/13142418/89091735-5de96a00-d3de-11ea-85e1-b0fc64537836.gif)
2018-01-30 20:33:04 +08:00
[**Help description for key bindings**](https://spacevim.org/help-description-for-key-bindings/)
2018-01-30 20:33:04 +08:00
Use <kbd>SPC h d k</kbd> to get the help description of a key binding, and `gd` to find definition of key bindings.
2018-01-30 20:33:04 +08:00
![describe key bindings](https://user-images.githubusercontent.com/13142418/35568829-e3c8e74c-058f-11e8-8fa8-c0e046d8add3.gif)
[**Asynchronous plugin manager**](https://spacevim.org/Asynchronous-plugin-manager/)
2018-01-30 20:33:04 +08:00
Create an UI for [dein.vim](https://github.com/Shougo/dein.vim/) - the best asynchronous vim plugin manager
2017-03-29 00:27:08 +08:00
2018-01-30 20:33:04 +08:00
![UI for dein](https://user-images.githubusercontent.com/13142418/34907332-903ae968-f842-11e7-8ac9-07fcc9940a53.gif)
2017-07-21 05:35:34 +08:00
2018-01-30 20:33:04 +08:00
For more features, please read [SpaceVim's Blog](https://spacevim.org/blog/)
### Project layout
2017-10-10 19:34:54 +08:00
2017-12-21 20:23:03 +08:00
```txt
├─ .ci/ build automation
├─ .github/ issue/PR templates
├─ .SpaceVim.d/ project specific configuration
├─ autoload/SpaceVim.vim SpaceVim core file
├─ autoload/SpaceVim/api/ Public APIs
├─ autoload/SpaceVim/layers/ available layers
├─ autoload/SpaceVim/plugins/ buildin plugins
2017-12-21 20:23:03 +08:00
├─ autoload/SpaceVim/mapping/ mapping guide
├─ doc/ help(cn/en)
2018-01-30 20:33:04 +08:00
├─ docs/ website(cn/en)
├─ wiki/ wiki(cn/en)
├─ bin/ executable
2020-06-13 14:06:35 +08:00
├─ bundle/ forked repos
2017-12-21 20:23:03 +08:00
└─ test/ tests
```
2017-10-10 19:34:54 +08:00
### Support SpaceVim
2017-02-10 19:43:38 +08:00
The best way to support SpaceVim is to contribute to it either by reporting bugs.
Helping the community on the [Gitter Chat](https://gitter.im/SpaceVim/SpaceVim) or sending pull requests.
2018-02-21 20:05:03 +08:00
For more information please check our [development guidelines](https://spacevim.org/development/).
2017-02-25 20:45:31 +08:00
If you want to show your support financially you can buy a drink for the maintainer by clicking following icon.
2017-02-25 20:45:31 +08:00
<a href='https://ko-fi.com/spacevim' target='_blank'><img height='36' style='border:0px;height:36px;' src='https://az743702.vo.msecnd.net/cdn/kofi4.png?v=f' border='0' alt='Buy Me a Coffee at ko-fi.com' /></a>
2017-02-25 20:45:31 +08:00
2018-04-23 21:21:29 +08:00
| wechat | alipay |
| ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| <a href='#support-spacevim'><img src="https://spacevim.org/img/weixin.png" height="150" width="150" /></a> | <a href='#support-spacevim'><img src="https://spacevim.org/img/zhifubao.png" height="150" width="150" /></a> |
2017-11-13 17:07:00 +08:00
2017-11-26 20:41:37 +08:00
Bitcoin: 1DtuVeg81c2L9NEhDaVTAAbrCR3pN5xPFv
### Credits & Thanks
2017-07-21 05:35:34 +08:00
This project exists to thank all the people who have [contributed](CONTRIBUTING.md):
<a href="https://github.com/SpaceVim/SpaceVim/graphs/contributors"><img src="https://opencollective.com/spacevim/contributors.svg?width=890&button=false" /></a>
2018-04-23 21:21:29 +08:00
2017-10-01 20:53:57 +08:00
- [@Gabirel](https://github.com/Gabirel) and his [Hack-SpaceVim](https://github.com/Gabirel/Hack-SpaceVim)
2018-01-30 20:33:04 +08:00
- [@everettjf](https://github.com/everettjf) and his [SpaceVimTutorial](https://everettjf.gitbooks.io/spacevimtutorial/content/)
2017-02-10 19:43:38 +08:00
- [vimdoc](https://github.com/google/vimdoc) generate doc file for SpaceVim
- [Rafael Bodill](https://github.com/rafi) and his vim-config
- [Bailey Ling](https://github.com/bling) and his dotvim
- Authors of all the plugins used in SpaceVim.
2017-12-21 20:23:03 +08:00
<!-- vim:set nowrap: -->