Fork me on GitHub

SpaceVim

A community-driven Vim distribution


Home | About | Documentation | Development | Community | Sponsors


SpaceVim Documentation

Core Pillars

Four core pillars: Mnemonic, Discoverable, Consistent and “Crowd-Configured”.

If any of these core pillars is violated open an issue and we’ll try our best to fix it.

Mnemonic

Key bindings are organized using mnemonic prefixes like b for buffer, p for project, s for search, h for help, etc…

Discoverable

Innovative real-time display of available key bindings. Simple query system to quickly find available layers, packages, and more.

Consistent

Similar functionalities have the same key binding everywhere thanks to a clearly defined set of conventions. Documentation is mandatory for any layer that ships with SpaceVim.

Crowd-Configured

Community-driven configuration provides curated packages tuned by power users and bugs are fixed quickly.

Highlighted features

Screenshots

welcome page

welcome-page

working flow

screen shot 2017-04-26 at 4 28 07 pm

Neovim on iTerm2 using the SpaceVim color scheme base16-solarized-dark

Depicts a common frontend development scenario with JavaScript (jQuery), SASS, and PHP buffers.

Non-code buffers show a Neovim terminal, a TagBar window, a Vimfiler window and a TernJS definition window.

to get more screenshots, see: issue #415

Who can benefit from this?

Update and Rollback

Update SpaceVim itself

There are several methods of updating the core files of SpaceVim. It is recommended to update the packages first; see the next section.

Automatic Updates

NOTE: By default, this feature is disabled, It will slow down the startup of vim/neovim. If you like this feature, add let g:spacevim_automatic_update = 1 to your custom configuration file.

SpaceVim will automatically check for a new version every startup. You must restart Vim after updating.

Updating from the SpaceVim Buffer

Use :SPUpdate SpaceVim in SpaceVim buffer, This command will open a buffer to show the process of updating.

Updating Manually with git

To update manually close Vim and update the git repository:

git -C ~/.SpaceVim pull.

Update plugins

Use :SPUpdate command will update all the plugins and SpaceVim itself. after :SPUpdate, you can assign plugins need to be updated. Use Tab to complete plugin names after :SPUpdate.

Configuration layers

This section is an overview of layers. A more extensive introduction to writing configuration layers can be found in SpaceVim’s layers page (recommended reading!).

Custom Configuration

User configuration can be stored in your ~/.SpaceVim.d directory.

Automatic Generation

The very first time SpaceVim starts up, it will ask you several questions and then create the SpaceVim.d/init.vim in your HOME directory.

Alternative directory

~/.SpaceVim.d/ will be added to &runtimepath of vim. read :h rtp.

It is also possible to override the location of ~/.SpaceVim.d/ using the environment variable SPACEVIMDIR. Of course you can also use symlinks to change the location of this directory.

SpaceVim also support local config file for project, the init file is .SpaceVim.d/init.vim in the root of your project. .SpaceVim.d/ will also be added into runtimepath.

here is an example config file for SpaceVim:

" Here are some basic customizations, please refer to the ~/.SpaceVim.d/init.vim
" file for all possible options:
let g:spacevim_default_indent = 3
let g:spacevim_max_column     = 80

" Change the default directory where all miscellaneous persistent files go.
" By default it is ~/.cache/vimfiles.
let g:spacevim_plugin_bundle_dir = '~/.cache/vimfiles'

" set SpaceVim colorscheme
let g:spacevim_colorscheme = 'jellybeans'

" Set plugin manager, you want to use, default is dein.vim
let g:spacevim_plugin_manager = 'dein'  " neobundle or dein or vim-plug

" use space as `<Leader>`
let mapleader = "\<space>"

" Set windows shortcut leader [Window], default is `s`
let g:spacevim_windows_leader = 's'

" Set unite work flow shortcut leader [Unite], default is `f`
let g:spacevim_unite_leader = 'f'

" By default, language specific plugins are not loaded. This can be changed
" with the following, then the plugins for go development will be loaded.
call SpaceVim#layers#load('lang#go')

" loaded ui layer
call SpaceVim#layers#load('ui')

" If there is a particular plugin you don't like, you can define this
" variable to disable them entirely:
let g:spacevim_disabled_plugins=[
\ ['junegunn/fzf.vim'],
\ ]

" If you want to add some custom plugins, use these options:
let g:spacevim_custom_plugins = [
\ ['plasticboy/vim-markdown', {'on_ft' : 'markdown'}],
\ ['wsdjeg/GitHub.vim'],
\ ]

" set the guifont
let g:spacevim_guifont = 'DejaVu\ Sans\ Mono\ for\ Powerline\ 11'

Comprehensive documentation is available for each layer by :h SpaceVim.

Awesome ui

SpaceVim has a minimalistic and distraction free UI:

Colorschemes

The default colorscheme of SpaceVim is gruvbox. There are two variants of this colorscheme, a dark one and a light one. Some aspects of these colorscheme can be customized in the custom configuration file, read :h gruvbox.

It is possible to define your default themes in your ~/.SpaceVim.d/init.vim with the variable colorschemes. For instance, to specify vim-one with dark colorscheme:

let g:spacevim_colorscheme = 'one'
let g:spacevim_colorscheme_bg = 'dark'
Mappings Description
SPC T n switch to next random colorscheme listed in colorscheme layer.
SPC T s select a theme using a unite buffer.

all the included colorscheme can be found in colorscheme layer.

NOTE:

SpaceVim use true colors by default, so you should make sure your terminal support true colors. for more information see: Colours in terminal

Font

The default font used by SpaceVim is DejaVu Sans Mono for Powerline. It is recommended to install it on your system if you wish to use it.

To change the default font set the variable g:spacevim_guifont in your ~/.SpaceVim.d/init.vim file. By default its value is:

let g:spacevim_guifont = 'DejaVu\ Sans\ Mono\ for\ Powerline\ 11'

If the specified font is not found, the fallback one will be used (depends on your system). Also note that changing this value has no effect if you are running Vim/Neovim in terminal.

UI Toggles

Some UI indicators can be toggled on and off (toggles start with t and T):

Key Binding Description
SPC t 8 highlight any character past the 80th column
SPC t f display the fill column (by default the fill column is set to 80)
SPC t h h toggle highlight of the current line
SPC t h i toggle highlight indentation levels
SPC t h c toggle highlight indentation current column
SPC t h s toggle syntax highlighting
SPC t i toggle indentation guide at point
SPC t n toggle line numbers
SPC t b toggle background
SPC t t open tabs manager
SPC T ~ display ~ in the fringe on empty lines
SPC T F toggle frame fullscreen
SPC T f toggle display of the fringe
SPC T m toggle menu bar
SPC T t toggle tool bar

Statusline && tabline

The statusline and tabline is a heavily customized airline with the following capabilities:

Key Binding Description
SPC [1-9] jump to the index of tabline.

statusline

The core#statusline layer provide a heavily customized powerline with the following capabilities:, It is inspired by spacemacs’s mode-line.

Reminder of the color codes for the states:

Mode Color
Normal Orange
Insert Green
Visual Grey

all the colors based on the current colorscheme

Some elements can be dynamically toggled:

Key Binding Description
SPC t m b toggle the battery status (need to install acpi)
SPC t m c toggle the org task clock (available in org layer)
SPC t m m toggle the minor mode lighters
SPC t m M toggle the major mode
SPC t m n toggle the cat! (if colors layer is declared in your dotfile)
SPC t m p toggle the point character position
SPC t m t toggle the time
SPC t m T toggle the mode line itself
SPC t m v toggle the version control info

Powerline font installation:

By defalut SpaceVim use DejaVu Sans Mono for Powerline, to make statusline render correctly, you need to install the font. powerline extra symbols also should be installed.

syntax checking integration:

When syntax checking minor mode is enabled, a new element appears showing the number of errors, warnings.

syntax checking integration in statusline.

Search index integration:

Search index shows the number of occurrence when performing a search via / or ?. SpaceVim integrates nicely the search status by displaying it temporarily when n or N are being pressed. See the 20/22 segment on the screenshot below.

search status

search index in statusline

Battery status integration:

acpi displays the percentage of total charge of the battery as well as the time remaining to charge or discharge completely the battery.

A color code is used for the battery status:

Battery State Color
Charging Green
Discharging Orange
Critical Red

all the colors based on the current colorscheme

Statusline separators:

It is possible to easily customize the statusline separator by setting the g:spacevim_statusline_separator variable in your custon configration file and then redraw the statusline. For instance if you want to set back the separator to the well-known arrow separator add the following snippet to your configuration file:

let g:spacevim_statusline_separator = 'arrow'

here is an exhaustive set of screenshots for all the available separator:

Separator Screenshot
arrow separator-arrow
curve separator-curve
slant separator-slant
nil separator-nil
fire separator-fire

Minor Modes:

The minor mode area can be toggled on and off with SPC t m m

Unicode symbols are displayed by default. Setting the variable g:spacevim_statusline_unicode_symbols to nil in your custom configuration file will display ASCII characters instead (may be useful in terminal if you cannot set an appropriate font).

The letters displayed in the statusline correspond to the key bindings used to toggle them.

Key Binding Unicode ASCII Mode
SPC t 8 8 toggle highlight of characters for long lines
SPC t f f fill-column-indicator mode
SPC t s s syntax checking (neomake)
SPC t S S enabled in spell checking
SPC t w w whitespace mode

Manual

Completion

Unite/Denite

please checkout the documentation of unite and denite via :h unite and :h denite.

Mappings within unite/denite buffer
Mappings Mode description
Ctrl+h/k/l/r Normal Un-map
Ctrl+l Normal Redraw
Tab Insert Select next line
Tab Normal Select actions
Shift + Tab Insert Select previous line
Space Normal Toggle mark current candidate, up
Enter Normal Run default action
Ctrl+v Normal Open in a split
Ctrl+s Normal Open in a vertical split
Ctrl+t Normal Open in a new tab
Ctrl + g Normal Exit unite
jk Insert Leave Insert mode
r Normal Replace (‘search’ profile) or rename
Ctrl+z Normal/insert Toggle transpose window
Ctrl+w Insert Delete backward path

Discovering

Mappings

Mappings guide

A guide buffer is displayed each time the prefix key is pressed in normal mode. It lists the available key bindings and their short description. The prefix can be [SPC], [Window], [denite], <leader> and [unite].

The default key of these prefix is:

Prefix name custom option and default value description
[SPC] NONE / <Space> default mapping prefix of SpaceVim
[Window] g:spacevim_windows_leader / s window mapping prefix of SpaceVim
[denite] g:spacevim_denite_leader / F denite mapping prefix of SpaceVim
[unite] g:spacevim_unite_leader / f unite mapping prefix of SpaceVim
<leader> mapleader / \ default leader prefix of vim/neovim

By default the guide buffer will be displayed 1000ms after the key has been pressed. You can change the delay by setting 'timeoutlen' option to your liking (the value is in milliseconds).

for example, after pressing <Space> in normal mode, you will see :

2017-05-07_1365x157

this guide show you all the available key bindings begin with [SPC], you can type b for all the buffer mappings, p for project mappings, etc. after pressing <C-h> in guide buffer, you will get paging and help info in the statusline.

key description
u undo pressing
n next page of guide buffer
p previous page of guide buffer

to defined custom SPC mappings, use SpaceVim#custom#SPC(). here is an example:

call SpaceVim#custom#SPC('nnoremap', ['f', 't'], 'echom "hello world"', 'test custom SPC', 1)
Unide/Denite describe key bindings

It is possible to search for specific key bindings by pressing ? in the root of guide buffer.

To narrow the list, just insert the mapping keys or description of what mapping you want, Unite/Denite will fuzzy find the mappings, to find buffer related mappings:

2017-05-07_1363x365

then use <Tab> or <Up> and <Down> to select the mapping, press <Enter> will execute that command.

Getting help

Denite/Unite is powerful tool to unite all interfaces. it was meant to be like Helm for Vim. These mappings is for getting help info about functions, variables etc:

Mappings Description
SPC h SPC discover SpaceVim documentation, layers and packages using unite
SPC h i get help with the symbol at point
SPC h k show top-level bindings with which-key
SPC h m search available man pages

Reporting an issue:

Mappings Description
SPC h I Open SpaceVim GitHub issue page with pre-filled information

Available layers

All layers can be easily discovered via :SPLayer -l accessible with SPC h l.

Available plugins in SpaceVim

All plugins can be easily discovered via <leader> l p.

New packages from ELPA repositories

Toggles

both the toggles mappings started with [SPC] t or [SPC] T. you can find it in the mapping guide.

Point/Cursor

Navigation is performed using the Vi key bindings hjkl.

Key Binding Description
h move cursor left (origin vim key, no mappings)
j move cursor down (origin vim key, no mappings)
k move cursor up (origin vim key, no mappings)
l move cursor right (origin vim key, no mappings)
H move cursor to the top of the screen (origin vim key, no mappings)
L move cursor to the bottom of the screen (origin vim key, no mappings)
SPC j 0 go to the beginning of line (and set a mark at the previous location in the line)
SPC j $ go to the end of line (and set a mark at the previous location in the line)
SPC t - lock the cursor at the center of the screen

Vim motions with vim-easymotion

https://github.com/easymotion/vim-easymotion/issues/315

Similar to easymotion or f in vimperator for firefox, this mode allows one to jump to any link in help file with two key strokes.

mapping description
o initiate quick jump link mode in help buffer

Unimpaired bindings

Mappings Description
[ SPC Insert space above
] SPC Insert space below
[ b Go to previous buffer
] b Go to next buffer
[ f Go to previous file in directory
] f Go to next file in directory
[ l Go to the previous error
] l Go to the next error
[ c Go to the previous vcs hunk
] c Go to the next vcs hunk
[ q Go to the previous error
] q Go to the next error
[ t Go to the previous frame
] t Go to the next frame
[ w Go to the previous window
] w Go to the next window
[ e Move line up
] e Move line down
[ p Paste above current line
] p Paste below current line
g p Select pasted text

Auto-saving

Searching

Editing

Multi-Encodings

SpaceVim use utf-8 as default encoding. there are four options for these case:

to fix messy display: SPC e a is the mapping for auto detect the file encoding. after detecting file encoding, you can run the command below to fix the encoding:

set enc=utf-8
write

Errors handling

SpaceVim uses neomake to gives error feedback on the fly. The checks are only performed at save time by default.

Errors management mappings (start with e):

Mappings Description
SPC t s toggle syntax checker
SPC e c clear all errors
SPC e h describe a syntax checker
SPC e l toggle the display of the list of errors/warnings
SPC e n go to the next error
SPC e p go to the previous error
SPC e v verify syntax checker setup (useful to debug 3rd party tools configuration)
SPC e . error transient state

The next/previous error mappings and the error transient state can be used to browse errors from syntax checkers as well as errors from location list buffers, and indeed anything that supports vim’s location list. This includes for example search results that have been saved to a location list buffer.

Custom sign symbol:

Symbol Description Custom option
Error g:spacevim_error_symbol
warning g:spacevim_warning_symbol

Features

Awesome ui

awesome ui

Mnemonic key bindings

Key bindings are organized using mnemonic prefixes like b for buffer, p for project, s for search, h for help, etc…

SPC mapping root : SPC means <Space> on the keyboard.

Key Description
SPC ! shell cmd
SPC a +applications
SPC b +buffers
SPC 1...9 windows 1…9

Language specific mode

Key Mapping

c/c++ support

  1. code completion: autocompletion and fuzzy match. 2017-02-01_1359x720
  2. syntax check: Asynchronous linting and make framework. 2017-02-01_1359x722

go support

  1. code completion: 2017-02-01_1360x721
  2. syntax check: 2017-02-01_1359x720

python support

  1. code completion: 2017-02-02_1360x724
  2. syntax check: 2017-02-02_1358x720

Neovim centric - Dark powered mode of SpaceVim.

By default, SpaceVim use these dark powered plugins:

  1. deoplete.nvim - Dark powered asynchronous completion framework for neovim
  2. dein.vim - Dark powered Vim/Neovim plugin manager

TODO:

  1. defx.nvim - Dark powered file explorer
  2. deoppet.nvim - Dark powered snippet plugin
  3. denite.nvim - Dark powered asynchronous unite all interfaces for Neovim/Vim8

Modular configuration

Multiple leader mode

Global origin vim leader

Vim’s origin global leader can be used in all modes.

Local origin vim leader

Vim’s origin local leader can be used in all the mode.

Windows function leader

Windows function leader can only be used in normal mode. For the list of mappings see the link

Unite work flow leader

Unite work flow leader can only be used in normal mode. Unite leader need unite groups.

Unite centric work-flow

unite

Plugin Highlights

Non Lazy-Loaded Plugins

Name Description
dein.vim Dark powered Vim/Neovim plugin manager
vimproc Interactive command execution
colorschemes Awesome color-schemes
file-line Allow opening a file in a given line
neomru MRU source for Unite
cursorword Underlines word under cursor
gitbranch Lightweight git branch detection
gitgutter Shows git diffs in the gutter
tinyline Tiny great looking statusline
tagabana Central location for all tags
bookmarks Bookmarks, works independently from vim marks
tmux-navigator Seamless navigation between tmux panes and vim splits

Lazy-Loaded Plugins

Language
Name Description
html5 HTML5 omnicomplete and syntax
mustache Mustache and handlebars syntax
markdown Markdown syntax highlighting
ansible-yaml Additional support for Ansible
jinja Jinja support in vim
less Syntax for LESS
css3-syntax CSS3 syntax support to vim’s built-in syntax/css.vim
csv Handling column separated data
pep8-indent Nicer Python indentation
logstash Highlights logstash configuration files
tmux vim plugin for tmux.conf
json Better JSON support
toml Syntax for TOML
i3 i3 window manager config syntax
Dockerfile syntax and snippets for Dockerfile
go Go development
jedi-vim Python jedi autocompletion library
ruby Ruby configuration files
portfile Macports portfile configuration files
javascript Enhanced Javascript syntax
javascript-indent Javascript indent script
tern Provides Tern-based JavaScript editing support
php Up-to-date PHP syntax file
phpfold PHP folding
phpcomplete Improved PHP omnicompletion
phpindent PHP official indenting
phpspec PhpSpec integration
Commands
Name Description
vimfiler Powerful file explorer
[NERD Commenter] Comment tool - no comment necessary
vinarise Hex editor
syntastic Syntax checking hacks
gita An awesome git handling plugin
gista Manipulate gists in Vim
undotree Ultimate undo history visualizer
incsearch Improved incremental searching
expand-region Visually select increasingly larger regions of text
open-browser Open URI with your favorite browser
prettyprint Pretty-print vim variables
quickrun Run commands quickly
ref Integrated reference viewer
dictionary Dictionary.app interface
vimwiki Personal Wiki for Vim
thesaurus Look up words in an online thesaurus
Commands
Name Description
goyo Distraction-free writing
limelight Hyperfocus-writing
matchit Intelligent pair matching
indentline Display vertical indention lines
choosewin Choose window to use, like tmux’s ‘display-pane’
Completion
Name Description
delimitmate Insert mode auto-completion for quotes, parenthesis, brackets
echodoc Print objects’ documentation in echo area
deoplete Neovim: Dark powered asynchronous completion framework
neocomplete Next generation completion framework
neosnippet Contains neocomplete snippets source
Unite
Name Description
unite Unite and create user interfaces
unite-colorscheme Browse colorschemes
unite-filetype Select file type
unite-history Browse history of command/search
unite-build Build with Unite interface
unite-outline File “outline” source for unite
unite-tag Tags source for Unite
unite-quickfix Quickfix source for Unite
neossh SSH interface for plugins
unite-pull-request GitHub pull-request source for Unite
junkfile Create temporary files for memo and testing
unite-issue Issue manager for JIRA and GitHub
Operators & Text Objects
Name Description
operator-user Define your own operator easily
operator-replace Operator to replace text with register content
operator-surround Operator to enclose text objects
textobj-user Create your own text objects
textobj-multiblock Handle multiple brackets objects

Custom Key bindings

Key Mode Action
<leader>+y visual Copy selection to X11 clipboard (“+y)
Ctrl+c Normal Copy full path of current buffer to X11 clipboard
<leader>+Ctrl+c Normal Copy github.com url of current buffer to X11 clipboard(if it is a github repo)
<leader>+Ctrl+l Normal/visual Copy github.com url of current lines to X11 clipboard(if it is a github repo)
<leader>+p Normal/visual Paste selection from X11 clipboard (“+p)
Ctrl+f Normal Smart page forward (C-f/C-d)
Ctrl+b Normal Smart page backwards (C-b/C-u)
Ctrl+e Normal Smart scroll down (3C-e/j)
Ctrl+y Normal Smart scroll up (3C-y/k)
Ctrl+q Normal Ctrl+w
Ctrl+x Normal Switch buffer and placement
Up,Down Normal Smart up and down
} Normal After paragraph motion go to first non-blank char (}^)
< Visual/Normal Indent to left and re-select
> Visual/Normal Indent to right and re-select
Tab Visual Indent to right and re-select
Shift+Tab Visual Indent to left and re-select
gp Normal Select last paste
Q/gQ Normal Disable EX-mode ()
Ctrl+a Command Navigation in command line
Ctrl+b Command Move cursor backward in command line
Ctrl+f Command Move cursor forward in command line
File Operations
Key Mode Action
<leader>+cd Normal Switch to the directory of the open buffer
<leader>+w Normal/visual Write (:w)
Ctrl+s Normal/visual/Command Write (:w)
:w!! Command Write as root (%!sudo tee > /dev/null %)
Editor UI
Key Mode Action
F2 All Toggle tagbar
F3 All Toggle Vimfiler
<leader> + num Normal Jump to the buffer whit the num index
<Alt> + num Normal Jump to the buffer whit the num index, this only works in neovim
<Alt> + h/<Left> Normal Jump to left buffer in the tabline, this only works in neovim
<Alt> + l/<Right> Normal Jump to Right buffer in the tabline, this only works in neovim
<leader>+ts Normal Toggle spell-checker (:setlocal spell!)
<leader>+tn Normal Toggle line numbers (:setlocal nonumber!)
<leader>+tl Normal Toggle hidden characters (:setlocal nolist!)
<leader>+th Normal Toggle highlighted search (:set hlsearch!)
<leader>+tw Normal Toggle wrap (:setlocal wrap! breakindent!)
g0 Normal Go to first tab (:tabfirst)
g$ Normal Go to last tab (:tablast)
gr Normal Go to previous tab (:tabprevious)
Ctrl+<Dow> Normal Move to split below (j)
Ctrl+<Up> Normal Move to upper split (k)
Ctrl+<Left> Normal Move to left split (h)
Ctrl+<Right> Normal Move to right split (l)
* Visual Search selection forwards
# Visual Search selection backwards
,+Space Normal Remove all spaces at EOL
Ctrl+r Visual Replace selection
<leader>+lj Normal Next on location list
<leader>+lk Normal Previous on location list
<leader>+S Normal/visual Source selection
Window Management
Key Mode Action
q Normal Smart buffer close
s+p Normal Split nicely
s+v Normal :split
s+g Normal :vsplit
s+t Normal Open new tab (:tabnew)
s+o Normal Close other windows (:only)
s+x Normal Remove buffer, leave blank window
s+q Normal Closes current buffer (:close)
s+Q Normal Removes current buffer, left buffer in the tabline will be displayed, if there is no buffer on the left, the right buffer will be displayed, if this is the last buffer in the tabline, then an empty buffer will be displayed.
Tab Normal Next window or tab
Shift+Tab Normal Previous window or tab
<leader>+sv Normal Split with previous buffer
<leader>+sg Normal Vertical split with previous buffer

SpaceVim has mapped normal q as smart buffer close, the normal func of q can be get by `` q r</kbd>

Native functions
Key Mode Action
<leader> + qr Normal Same as native q
<leader> + qr/ Normal Same as native q/, open cmdwin
<leader> + qr? Normal Same as native q?, open cmdwin
<leader> + qr: Normal Same as native q:, open cmdwin
Plugin: Unite
Key Mode Action
[unite] Normal unite leader, default is f, :h g:spacevim_unite_leader
[unite]+r Normal Resumes Unite window
[unite]+f Normal Opens Unite file recursive search
[unite]+i Normal Opens Unite git file search
[unite]+g Normal Opens Unite grep with ag (the_silver_searcher)
[unite]+u Normal Opens Unite source
[unite]+t Normal Opens Unite tag
[unite]+T Normal Opens Unite tag/include
[unite]+l Normal Opens Unite location list
[unite]+q Normal Opens Unite quick fix
[unite]+e Normal Opens Unite register
[unite]+j Normal Opens Unite jump, change
[unite]+h Normal Opens Unite history/yank
[unite]+s Normal Opens Unite session
[unite]+n Normal Opens Unite session/new
[unite]+o Normal Opens Unite outline
[unite]+c Normal Opens Unite buffer bookmark file in current directory
[unite]+b Normal Opens Unite buffer bookmark file in buffer directory
[unite]+ma Normal Opens Unite mapping
[unite]+<space> Normal Opens Unite menu:CustomKeyMaps
[unite]+me Normal Opens Unite output messages
<leader>+bl Normal Opens Unite buffers, mru, bookmark
<leader>+ta Normal Opens Unite tab
<leader>+ugf Normal Opens Unite file with word at cursor
<leader>+ugt Normal/visual Opens Unite tag with word at cursor
Plugin: VimFiler
Key Mode Action  
<F3> Normal Toggle file explorer  
  Within VimFiler buffers    
Ctrl+j Normal Un-map  
Ctrl+l Normal Un-map  
E Normal Un-map  
sv Normal Split edit  
sg Normal Vertical split edit  
p Normal Preview  
i Normal Switch to directory history  
v Normal Quick look  
gx Normal Execute with vimfiler associated  
' Normal Toggle mark current line  
V Normal Clear all marks  
Ctrl+r Normal Redraw  
Plugin: neocomplete
Key Mode Action
Enter Insert Smart snippet expansion
Ctrl+space Insert Autocomplete with Unite
Tab Insert/select Smart tab movement or completion
Ctrl+j/k/f/b Insert Movement in popup
Ctrl+g Insert Undo completion
Ctrl+l Insert Complete common string
Ctrl+o Insert Expand snippet
Ctrl+y Insert Close pop-up
Ctrl+e Insert Close pop-up
Ctrl+l Insert Complete common string
Ctrl+d Insert Scroll down
Ctrl+u Insert Scroll up
Plugin: NERD Commenter
Key Mode Action
<leader>+cc Normal/visual Comment out the current line or text selected in visual mode.
<leader>+cn Normal/visual Same as cc but forces nesting.
<leader>+cu Normal/visual Uncomments the selected line(s).
<leader>+cs Normal/visual Comments out the selected lines with a pretty block formatted layout.
<leader>+cy Normal/visual Same as cc except that the commented line(s) are yanked first.
Plugin: Goyo and Limelight
Key Mode Action
<leader>+G Normal Toggle distraction-free writing
Plugin: ChooseWin
Key Mode Action
- Normal Choose a window to edit
<leader>+- Normal Switch editing window with selected
Plugin: Bookmarks
Key Mode Action
m+a Normal Show list of all bookmarks
m+m Normal Toggle bookmark in current line
m+n Normal Jump to next bookmark
m+p Normal Jump to previous bookmark
m+i Normal Annotate bookmark

As SpaceVim use above bookmarks mappings, so you can not use a, m, n, p or i registers to mark current position, but other registers should works will. if you really need to use these registers, you can add nnoremap <leader>m m to your custom configuration, then you use use a registers via \ma

Plugin: Gita
Key Mode Action
<leader>+gs Normal Git status
<leader>+gd Normal Git diff
<leader>+gc Normal Git commit
<leader>+gb Normal Git blame
<leader>+gp Normal Git push
Plugin: vim-signify
Key Mode Action
<leader>+hj / ]c Normal Jump to next hunk
<leader>+hk / [c Normal Jump to previous hunk
<leader>+hJ / ]C Normal Jump to last hunk
<leader>+hK / [C Normal Jump to first hunk
Misc Plugins
Key Mode Action
<leader>+gu Normal Open undo tree
<leader>+i Normal Toggle indentation lines
<leader>+j Normal Start smalls
<leader>+r Normal Quickrun
<leader>+? Normal Dictionary
<leader>+W Normal Wiki
<leader>+K Normal Thesaurus

Hosted on GitHub — Theme by mattgraham