mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-24 05:20:04 +08:00
2573 lines
88 KiB
Plaintext
2573 lines
88 KiB
Plaintext
*SpaceVim.txt*
|
|
|
|
|
|
/###### /## /##/##
|
|
/##__ ## | ## | #|__/
|
|
| ## \__/ /###### /###### /####### /######| ## | ##/##/######/####
|
|
| ###### /##__ ##|____ ##/##_____//##__ #| ## / ##| #| ##_ ##_ ##
|
|
\____ #| ## \ ## /######| ## | ########\ ## ##/| #| ## \ ## \ ##
|
|
/## \ #| ## | ##/##__ #| ## | ##_____/ \ ###/ | #| ## | ## | ##
|
|
| ######| #######| ######| ######| ####### \ #/ | #| ## | ## | ##
|
|
\______/| ##____/ \_______/\_______/\_______/ \_/ |__|__/ |__/ |__/
|
|
| ##
|
|
| ##
|
|
|__/
|
|
wsdjeg *spacevim* *SpaceVim*
|
|
|
|
==============================================================================
|
|
CONTENTS *SpaceVim-contents*
|
|
1. Introduction.............................................|SpaceVim-intro|
|
|
2. Options................................................|SpaceVim-options|
|
|
1. autocomplete_method............|SpaceVim-options-autocomplete_method|
|
|
2. buffer_index_type................|SpaceVim-options-buffer_index_type|
|
|
3. checkinstall..........................|SpaceVim-options-checkinstall|
|
|
4. colorscheme............................|SpaceVim-options-colorscheme|
|
|
5. colorscheme_bg......................|SpaceVim-options-colorscheme_bg|
|
|
6. default_indent......................|SpaceVim-options-default_indent|
|
|
7. enable_ale..............................|SpaceVim-options-enable_ale|
|
|
8. enable_bepo_layout..............|SpaceVim-options-enable_bepo_layout|
|
|
9. enable_cursorline................|SpaceVim-options-enable_cursorline|
|
|
10. enable_debug.........................|SpaceVim-options-enable_debug|
|
|
11. enable_googlesuggest.........|SpaceVim-options-enable_googlesuggest|
|
|
12. enable_guicolors.................|SpaceVim-options-enable_guicolors|
|
|
13. enable_insert_leader.........|SpaceVim-options-enable_insert_leader|
|
|
14. enable_key_frequency.........|SpaceVim-options-enable_key_frequency|
|
|
15. enable_neomake.....................|SpaceVim-options-enable_neomake|
|
|
16. enable_statusline_bfpath.|SpaceVim-options-enable_statusline_bfpath|
|
|
17. enable_statusline_mode.....|SpaceVim-options-enable_statusline_mode|
|
|
18. enable_statusline_tag.......|SpaceVim-options-enable_statusline_tag|
|
|
19. enable_tabline_ft_icon.....|SpaceVim-options-enable_tabline_ft_icon|
|
|
20. enable_vimfiler_welcome...|SpaceVim-options-enable_vimfiler_welcome|
|
|
21. enable_ycm.............................|SpaceVim-options-enable_ycm|
|
|
22. error_symbol.........................|SpaceVim-options-error_symbol|
|
|
23. filemanager...........................|SpaceVim-options-filemanager|
|
|
24. filetree_direction.............|SpaceVim-options-filetree_direction|
|
|
25. guifont...................................|SpaceVim-options-guifont|
|
|
26. home_files_number...............|SpaceVim-options-home_files_number|
|
|
27. info_symbol...........................|SpaceVim-options-info_symbol|
|
|
28. keep_server_alive...............|SpaceVim-options-keep_server_alive|
|
|
29. language.................................|SpaceVim-options-language|
|
|
30. lint_on_the_fly...................|SpaceVim-options-lint_on_the_fly|
|
|
31. max_column.............................|SpaceVim-options-max_column|
|
|
32. plugin_bundle_dir...............|SpaceVim-options-plugin_bundle_dir|
|
|
33. plugin_manager_processes.|SpaceVim-options-plugin_manager_processes|
|
|
34. realtime_leader_guide.......|SpaceVim-options-realtime_leader_guide|
|
|
35. relativenumber.....................|SpaceVim-options-relativenumber|
|
|
36. retry_cnt...............................|SpaceVim-options-retry_cnt|
|
|
37. sidebar_width.......................|SpaceVim-options-sidebar_width|
|
|
38. simple_mode...........................|SpaceVim-options-simple_mode|
|
|
39. snippet_engine.....................|SpaceVim-options-snippet_engine|
|
|
40. statusline_iseparator.......|SpaceVim-options-statusline_iseparator|
|
|
41. statusline_left_sections.|SpaceVim-options-statusline_left_sections|
|
|
42. statusline_separator.........|SpaceVim-options-statusline_separator|
|
|
43. terminal_cursor_shape.......|SpaceVim-options-terminal_cursor_shape|
|
|
44. warning_symbol.....................|SpaceVim-options-warning_symbol|
|
|
45. windows_index_type.............|SpaceVim-options-windows_index_type|
|
|
46. windows_leader.....................|SpaceVim-options-windows_leader|
|
|
3. Configuration...........................................|SpaceVim-config|
|
|
4. Commands..............................................|SpaceVim-commands|
|
|
5. Functions............................................|SpaceVim-functions|
|
|
6. Layers..................................................|SpaceVim-layers|
|
|
1. autocomplete..................................|SpaceVim-autocomplete|
|
|
2. checkers....................................|SpaceVim-layer-checkers|
|
|
3. colorscheme....................................|SpaceVim-colorscheme|
|
|
4. core#statusline......................|SpaceVim-layer-core-statusline|
|
|
5. core#tabline............................|SpaceVim-layer-core-tabline|
|
|
6. exprfold....................................|SpaceVim-layer-exprfold|
|
|
7. format........................................|SpaceVim-layer-format|
|
|
8. github........................................|SpaceVim-layer-github|
|
|
9. incsearch..................................|SpaceVim-layer-incsearch|
|
|
10. indentmove...............................|SpaceVim-layer-indentmove|
|
|
11. lang#c.......................................|SpaceVim-layer-lang-c|
|
|
12. lang#crystal...........................|SpaceVim-layer-lang-crystal|
|
|
13. lang#csharp.............................|SpaceVim-layer-lang-csharp|
|
|
14. lang#d.......................................|SpaceVim-layer-lang-d|
|
|
15. lang#dart.................................|SpaceVim-layer-lang-dart|
|
|
16. lang#elixir.............................|SpaceVim-layer-lang-elixir|
|
|
17. lang#elm...................................|SpaceVim-layer-lang-elm|
|
|
18. lang#go.....................................|SpaceVim-layer-lang-go|
|
|
19. lang#groovy.............................|SpaceVim-layer-lang-groovy|
|
|
20. lang#hack.................................|SpaceVim-layer-lang-hack|
|
|
21. lang#haskell...........................|SpaceVim-layer-lang-haskell|
|
|
22. lang#hy.....................................|SpaceVim-layer-lang-hy|
|
|
23. lang#java.................................|SpaceVim-layer-lang-java|
|
|
24. lang#julia...............................|SpaceVim-layer-lang-julia|
|
|
25. lang#kotlin.............................|SpaceVim-layer-lang-kotlin|
|
|
26. lang#livescript.....................|SpaceVim-layer-lang-livescript|
|
|
27. lang#lua...................................|SpaceVim-layer-lang-lua|
|
|
28. lang#nim...................................|SpaceVim-layer-lang-nim|
|
|
29. lang#ocaml...............................|SpaceVim-layer-lang-ocaml|
|
|
30. lang#pact.................................|SpaceVim-layer-lang-pact|
|
|
31. lang#php...................................|SpaceVim-layer-lang-php|
|
|
32. lang#pony.................................|SpaceVim-layer-lang-pony|
|
|
33. lang#processing.....................|SpaceVim-layer-lang-processing|
|
|
34. lang#prolog.............................|SpaceVim-layer-lang-prolog|
|
|
35. lang#puppet.............................|SpaceVim-layer-lang-puppet|
|
|
36. lang#python.............................|SpaceVim-layer-lang-python|
|
|
37. lang#racket.............................|SpaceVim-layer-lang-racket|
|
|
38. lang#rust.................................|SpaceVim-layer-lang-rust|
|
|
39. lang#scala...............................|SpaceVim-layer-lang-scala|
|
|
40. lang#tcl...................................|SpaceVim-layer-lang-tcl|
|
|
41. lang#xml...................................|SpaceVim-layer-lang-xml|
|
|
42. operator...................................|SpaceVim-layer-operator|
|
|
43. shell.........................................|SpaceVim-layer-shell|
|
|
44. test...........................................|SpaceVim-layer-test|
|
|
45. tmux...........................................|SpaceVim-layer-tmux|
|
|
46. tools#dash...............................|SpaceVim-layer-tools-dash|
|
|
47. tools#zeal...............................|SpaceVim-layer-tools-zeal|
|
|
7. API........................................................|SpaceVim-api|
|
|
1. cmdlinemenu................................|SpaceVim-api-cmdlinemenu|
|
|
2. data#dict....................................|SpaceVim-api-data-dict|
|
|
3. data#list....................................|SpaceVim-api-data-list|
|
|
4. data#string................................|SpaceVim-api-data-string|
|
|
5. job................................................|SpaceVim-api-job|
|
|
6. logger..........................................|SpaceVim-api-logger|
|
|
7. password......................................|SpaceVim-api-password|
|
|
8. prompt..........................................|SpaceVim-api-prompt|
|
|
9. sid............................................|SpaceVim-api-vim-sid|
|
|
10. system.........................................|SpaceVim-api-system|
|
|
11. vim#buffer.................................|SpaceVim-api-vim-buffer|
|
|
12. vim#command...............................|SpaceVim-api-vim-command|
|
|
13. vim#compatible.........................|SpaceVim-api-vim-compatible|
|
|
14. vim#message...............................|SpaceVim-api-vim-message|
|
|
8. FAQ........................................................|SpaceVim-faq|
|
|
9. Changelog............................................|SpaceVim-changelog|
|
|
|
|
==============================================================================
|
|
INTRODUCTION *SpaceVim-intro*
|
|
|
|
SpaceVim is a bundle of custom settings and plugins with a modular
|
|
configuration for Vim. It was inspired by Spacemacs.
|
|
|
|
|
|
==============================================================================
|
|
OPTIONS *SpaceVim-options*
|
|
|
|
SpaceVim uses `~/.SpaceVim.d/init.toml` as its default global config file. You
|
|
can set all the SpaceVim options and layers in it. `~/.SpaceVim.d/` will also
|
|
be added to runtimepath, so you can write your own scripts in it. SpaceVim
|
|
also supports local config for each project. Place local config settings in
|
|
`.SpaceVim.d/init.toml` in the root directory of your project. `.SpaceVim.d/`
|
|
will also be added to runtimepath.
|
|
|
|
here is an example setting SpaceVim options:
|
|
>
|
|
[options]
|
|
enable-guicolors = true
|
|
max-column = 120
|
|
<
|
|
|
|
==============================================================================
|
|
AUTOCOMPLETE_METHOD *SpaceVim-options-autocomplete_method*
|
|
|
|
Set the autocomplete engine of spacevim, the default logic is:
|
|
>
|
|
if has('python3')
|
|
let g:spacevim_autocomplete_method = 'deoplete'
|
|
elseif has('lua')
|
|
let g:spacevim_autocomplete_method = 'neocomplete'
|
|
elseif has('python')
|
|
let g:spacevim_autocomplete_method = 'completor'
|
|
elseif has('timers')
|
|
let g:spacevim_autocomplete_method = 'asyncomplete'
|
|
else
|
|
let g:spacevim_autocomplete_method = 'neocomplcache'
|
|
endif
|
|
<
|
|
|
|
and you can alse set this option to coc, then coc.nvim will be used.
|
|
|
|
==============================================================================
|
|
BUFFER_INDEX_TYPE *SpaceVim-options-buffer_index_type*
|
|
|
|
Set SpaceVim buffer index type, default is 4.
|
|
>
|
|
# types:
|
|
# 0: 1 ➛ ➊
|
|
# 1: 1 ➛ ➀
|
|
# 2: 1 ➛ ⓵
|
|
# 3: 1 ➛ ¹
|
|
# 4: 1 ➛ 1
|
|
buffer_index_type = 1
|
|
<
|
|
|
|
==============================================================================
|
|
CHECKINSTALL *SpaceVim-options-checkinstall*
|
|
|
|
Enable/Disable checkinstall on SpaceVim startup. Default is true.
|
|
>
|
|
checkinstall = true
|
|
<
|
|
|
|
==============================================================================
|
|
COLORSCHEME *SpaceVim-options-colorscheme*
|
|
|
|
The colorscheme of SpaceVim. Default is 'gruvbox'.
|
|
|
|
==============================================================================
|
|
COLORSCHEME_BG *SpaceVim-options-colorscheme_bg*
|
|
|
|
The background of colorscheme. Default is 'dark'.
|
|
|
|
==============================================================================
|
|
DEFAULT_INDENT *SpaceVim-options-default_indent*
|
|
|
|
Change the default indentation of SpaceVim. Default is 2.
|
|
>
|
|
default_indent = 2
|
|
<
|
|
|
|
==============================================================================
|
|
ENABLE_ALE *SpaceVim-options-enable_ale*
|
|
|
|
Use ale for syntax checking, disabled by default.
|
|
>
|
|
enable_ale = true
|
|
<
|
|
|
|
==============================================================================
|
|
ENABLE_BEPO_LAYOUT *SpaceVim-options-enable_bepo_layout*
|
|
|
|
Enable/Disable bepo layout, by default it is disabled.
|
|
>
|
|
enable_bepo_layout = true
|
|
<
|
|
|
|
==============================================================================
|
|
ENABLE_CURSORLINE *SpaceVim-options-enable_cursorline*
|
|
|
|
Enable/Disable cursorline. Default is true, cursorline will be highlighted in
|
|
normal mode.To disable this feature:
|
|
>
|
|
enable_cursorline = false
|
|
<
|
|
|
|
==============================================================================
|
|
ENABLE_DEBUG *SpaceVim-options-enable_debug*
|
|
|
|
Enable/Disable debug mode for SpaceVim. Default is false.
|
|
>
|
|
enable_debug = true
|
|
<
|
|
|
|
==============================================================================
|
|
ENABLE_GOOGLESUGGEST *SpaceVim-options-enable_googlesuggest*
|
|
|
|
Enable/Disable Google suggestions for neocomplete. Default is false.
|
|
>
|
|
enable_googlesuggest = false
|
|
<
|
|
|
|
==============================================================================
|
|
ENABLE_GUICOLORS *SpaceVim-options-enable_guicolors*
|
|
|
|
Enable true color support in terminal. Default is false.
|
|
>
|
|
enable_guicolors = true
|
|
<
|
|
|
|
==============================================================================
|
|
ENABLE_INSERT_LEADER *SpaceVim-options-enable_insert_leader*
|
|
|
|
Enable/Disable spacevim's insert mode leader, default is enable
|
|
|
|
==============================================================================
|
|
ENABLE_KEY_FREQUENCY *SpaceVim-options-enable_key_frequency*
|
|
|
|
Enable/Disable key frequency catching of SpaceVim. default value is 0. to
|
|
enable it:
|
|
>
|
|
enable_key_frequency = true
|
|
<
|
|
|
|
==============================================================================
|
|
ENABLE_NEOMAKE *SpaceVim-options-enable_neomake*
|
|
|
|
SpaceVim default checker is neomake. If you want to use syntastic, use:
|
|
>
|
|
enable_neomake = false
|
|
<
|
|
|
|
==============================================================================
|
|
ENABLE_STATUSLINE_BFPATH *SpaceVim-options-enable_statusline_bfpath*
|
|
|
|
Enable/Disable showing full path of current buffer on statusline, disabled by
|
|
default, to enable this feature:
|
|
>
|
|
enable_statusline_bfpath = true
|
|
<
|
|
|
|
==============================================================================
|
|
ENABLE_STATUSLINE_MODE *SpaceVim-options-enable_statusline_mode*
|
|
|
|
Enable/Disable display mode. Default is 0, mode will be displayed in
|
|
statusline. To enable this feature:
|
|
>
|
|
enable_statusline_mode = true
|
|
<
|
|
|
|
==============================================================================
|
|
ENABLE_STATUSLINE_TAG *SpaceVim-options-enable_statusline_tag*
|
|
|
|
Enable/Disable showing current tag on statusline
|
|
>
|
|
enable_statusline_tag = false
|
|
<
|
|
|
|
==============================================================================
|
|
ENABLE_TABLINE_FT_ICON *SpaceVim-options-enable_tabline_ft_icon*
|
|
|
|
Enable/Disable tabline filetype icon. default is false. To enable this
|
|
feature:
|
|
>
|
|
enable_tabline_ft_icon = true
|
|
<
|
|
|
|
==============================================================================
|
|
ENABLE_VIMFILER_WELCOME *SpaceVim-options-enable_vimfiler_welcome*
|
|
|
|
Enable/Disable vimfiler in the welcome windows. Default is true. This will
|
|
cause vim to start up slowly if there are too many files in the current
|
|
directory.
|
|
>
|
|
enable_vimfiler_welcome = false
|
|
<
|
|
|
|
==============================================================================
|
|
ENABLE_YCM *SpaceVim-options-enable_ycm*
|
|
|
|
Enable/Disable YouCompleteMe. Default is false.
|
|
>
|
|
enable_ycm = true
|
|
<
|
|
|
|
==============================================================================
|
|
ERROR_SYMBOL *SpaceVim-options-error_symbol*
|
|
|
|
Set the error symbol for SpaceVim's syntax maker. Default is '✖'.
|
|
>
|
|
error_symbol = "+"
|
|
<
|
|
|
|
==============================================================================
|
|
FILEMANAGER *SpaceVim-options-filemanager*
|
|
|
|
The default file manager of SpaceVim. Default is 'vimfiler'. you can also use
|
|
nerdtree or defx
|
|
|
|
==============================================================================
|
|
FILETREE_DIRECTION *SpaceVim-options-filetree_direction*
|
|
|
|
Config the direction of file tree. Default is 'right'. you can also set to
|
|
'left'.
|
|
|
|
NOTE: if it is 'left', the tagbar will be move to right.
|
|
|
|
==============================================================================
|
|
GUIFONT *SpaceVim-options-guifont*
|
|
|
|
Set the guifont of SpaceVim. Default is empty.
|
|
>
|
|
guifont = "SauceCodePro Nerd Font Mono:h11"
|
|
<
|
|
|
|
==============================================================================
|
|
HOME_FILES_NUMBER *SpaceVim-options-home_files_number*
|
|
|
|
Change the list number of files for SpaceVim home. Default is 6.
|
|
>
|
|
home_files_number = 6
|
|
<
|
|
|
|
==============================================================================
|
|
INFO_SYMBOL *SpaceVim-options-info_symbol*
|
|
|
|
Set the information symbol for SpaceVim's syntax maker. Default is '🛈'.
|
|
>
|
|
info_symbol = 'i'
|
|
<
|
|
|
|
==============================================================================
|
|
KEEP_SERVER_ALIVE *SpaceVim-options-keep_server_alive*
|
|
|
|
Option for keep the spacevim server ailive
|
|
|
|
==============================================================================
|
|
LANGUAGE *SpaceVim-options-language*
|
|
|
|
Set the message language of vim. Default is 'en_US.UTF-8'.
|
|
>
|
|
language = 'en_CA.utf8'
|
|
<
|
|
|
|
==============================================================================
|
|
LINT_ON_THE_FLY *SpaceVim-options-lint_on_the_fly*
|
|
|
|
Enable/Disable lint on the fly feature of SpaceVim's maker. Default is true.
|
|
>
|
|
lint_on_the_fly = false
|
|
<
|
|
|
|
==============================================================================
|
|
MAX_COLUMN *SpaceVim-options-max_column*
|
|
|
|
Change the max number of columns for SpaceVim. Default is 120.
|
|
>
|
|
max_column = 120
|
|
<
|
|
|
|
==============================================================================
|
|
PLUGIN_BUNDLE_DIR *SpaceVim-options-plugin_bundle_dir*
|
|
|
|
Set the cache directory of plugins. Default is `~/.cache/vimfiles`.
|
|
>
|
|
plugin_bundle_dir = "~/.cache/vimplugs"
|
|
<
|
|
|
|
==============================================================================
|
|
PLUGIN_MANAGER_PROCESSES *SpaceVim-options-plugin_manager_processes*
|
|
|
|
Set the max process of SpaceVim plugin manager
|
|
|
|
==============================================================================
|
|
REALTIME_LEADER_GUIDE *SpaceVim-options-realtime_leader_guide*
|
|
|
|
Enable/Disable realtime leader guide. Default is true. to disable it:
|
|
>
|
|
realtime_leader_guide = false
|
|
<
|
|
|
|
==============================================================================
|
|
RELATIVENUMBER *SpaceVim-options-relativenumber*
|
|
|
|
Enable/Disable relativenumber, by default it is enabled.
|
|
>
|
|
relativenumber = true
|
|
<
|
|
|
|
==============================================================================
|
|
RETRY_CNT *SpaceVim-options-retry_cnt*
|
|
|
|
Set the number of retries for SpaceVim Update when failed. Default is 3. Set
|
|
to 0 to disable this feature, or you can set to another number.
|
|
>
|
|
update_retry_cnt = 3
|
|
<
|
|
|
|
==============================================================================
|
|
SIDEBAR_WIDTH *SpaceVim-options-sidebar_width*
|
|
|
|
Set the width of the SpaceVim sidebar. Default is 30. This value will be used
|
|
by tagbar and vimfiler.
|
|
|
|
==============================================================================
|
|
SIMPLE_MODE *SpaceVim-options-simple_mode*
|
|
|
|
Enable/disable simple mode of SpaceVim. Default is false. In this mode, only
|
|
few plugins will be installed.
|
|
>
|
|
simple_mode = true
|
|
<
|
|
|
|
==============================================================================
|
|
SNIPPET_ENGINE *SpaceVim-options-snippet_engine*
|
|
|
|
Set the snippet engine of SpaceVim, default is neosnippet. to enable
|
|
ultisnips:
|
|
>
|
|
snippet_engine = "ultisnips"
|
|
<
|
|
|
|
==============================================================================
|
|
STATUSLINE_ISEPARATOR *SpaceVim-options-statusline_iseparator*
|
|
|
|
Set the statusline separators of statusline in inactive windows, default is
|
|
'nil'
|
|
>
|
|
Separators options:
|
|
1. arrow
|
|
2. curve
|
|
3. slant
|
|
4. nil
|
|
5. fire
|
|
<
|
|
|
|
See more details in: http://spacevim.org/documentation/#statusline
|
|
|
|
|
|
==============================================================================
|
|
STATUSLINE_LEFT_SECTIONS *SpaceVim-options-statusline_left_sections*
|
|
|
|
Define the left section of statusline in active windows. By default:
|
|
>
|
|
statusline_left_sections = [
|
|
'winnr',
|
|
'filename',
|
|
'major mode',
|
|
'minor mode lighters',
|
|
'version control info'
|
|
]
|
|
<
|
|
|
|
==============================================================================
|
|
STATUSLINE_SEPARATOR *SpaceVim-options-statusline_separator*
|
|
|
|
Set the statusline separators of statusline, default is 'nil'
|
|
>
|
|
Separators options:
|
|
1. arrow
|
|
2. curve
|
|
3. slant
|
|
4. nil
|
|
5. fire
|
|
<
|
|
|
|
See more details in: http://spacevim.org/documentation/#statusline
|
|
|
|
|
|
==============================================================================
|
|
TERMINAL_CURSOR_SHAPE *SpaceVim-options-terminal_cursor_shape*
|
|
|
|
Set the SpaceVim cursor shape in the terminal.
|
|
>
|
|
0 : to prevent Nvim from changing the cursor shape.
|
|
1 : to enable non-blinking mode-sensitive cursor.
|
|
2 : to enable blinking mode-sensitive cursor (default).
|
|
<
|
|
|
|
>
|
|
<
|
|
Host terminal must support the DECSCUSR CSI escape sequence. Depending on the
|
|
terminal emulator, using this option with nvim under tmux might require adding
|
|
the following to ~/.tmux.conf:
|
|
>
|
|
set -ga terminal-overrides ',*:Ss=\E[%p1%d q:Se=\E[2 q'
|
|
<
|
|
|
|
==============================================================================
|
|
WARNING_SYMBOL *SpaceVim-options-warning_symbol*
|
|
|
|
Set the warning symbol for SpaceVim's syntax maker. Default is '⚠'.
|
|
>
|
|
warning_symbol = '!'
|
|
<
|
|
|
|
==============================================================================
|
|
WINDOWS_INDEX_TYPE *SpaceVim-options-windows_index_type*
|
|
|
|
Set SpaceVim windows index type, default is 3.
|
|
>
|
|
# types:
|
|
# 0: 1 ➛ ➊
|
|
# 1: 1 ➛ ➀
|
|
# 2: 1 ➛ ⓵
|
|
# 3: 1 ➛ 1
|
|
windows_index_type = 1
|
|
<
|
|
|
|
==============================================================================
|
|
WINDOWS_LEADER *SpaceVim-options-windows_leader*
|
|
|
|
Window functions leader for SpaceVim. Default is `s`. Set to empty to disable
|
|
this feature, or you can set to another char.
|
|
>
|
|
windows_leader = ""
|
|
<
|
|
|
|
==============================================================================
|
|
CONFIGURATION *SpaceVim-config*
|
|
|
|
If you still want to use `~/.SpaceVim.d/init.vim` as configuration file,
|
|
please take a look at the following options.
|
|
|
|
|
|
*g:spacevim_version*
|
|
Version of SpaceVim , this value can not be changed.
|
|
|
|
*g:spacevim_default_indent*
|
|
Change the default indentation of SpaceVim. Default is 2.
|
|
>
|
|
let g:spacevim_default_indent = 2
|
|
<
|
|
|
|
*g:spacevim_expand_tab*
|
|
In Insert mode: Use the appropriate number of spaces to insert a <Tab>
|
|
|
|
*g:spacevim_relativenumber*
|
|
Enable/Disable relativenumber in current windows, by default it is enabled.
|
|
|
|
*g:spacevim_enable_bepo_layout*
|
|
Enable/Disable bepo layout, by default it is disabled.
|
|
|
|
*g:spacevim_max_column*
|
|
Change the max number of columns for SpaceVim. Default is 120.
|
|
>
|
|
let g:spacevim_max_column = 120
|
|
<
|
|
|
|
*g:spacevim_home_files_number*
|
|
Change the list number of files for SpaceVim home. Default is 6.
|
|
>
|
|
let g:spacevim_home_files_number = 6
|
|
<
|
|
|
|
*g:spacevim_enable_guicolors*
|
|
Enable true color support in terminal. Default is 0.
|
|
>
|
|
let g:spacevim_enable_guicolors = 1
|
|
<
|
|
|
|
*g:spacevim_enable_googlesuggest*
|
|
Enable/Disable Google suggestions for neocomplete. Default is 0.
|
|
>
|
|
let g:spacevim_enable_googlesuggest = 1
|
|
<
|
|
|
|
*g:spacevim_windows_leader*
|
|
Window functions leader for SpaceVim. Default is `s`. Set to empty to disable
|
|
this feature, or you can set to another char.
|
|
>
|
|
let g:spacevim_windows_leader = ''
|
|
<
|
|
|
|
*g:spacevim_enable_insert_leader*
|
|
Enable/Disable spacevim's insert mode leader, default is enable
|
|
|
|
*g:spacevim_plugin_bundle_dir*
|
|
Set the cache directory of plugins. Default is `~/.cache/vimfiles`.
|
|
>
|
|
let g:spacevim_plugin_bundle_dir = '~/.cache/vimplugs'
|
|
<
|
|
|
|
*g:spacevim_realtime_leader_guide*
|
|
Enable/Disable realtime leader guide. Default is 1. to disable it:
|
|
>
|
|
let g:spacevim_realtime_leader_guide = 0
|
|
<
|
|
|
|
*g:spacevim_enable_key_frequency*
|
|
Enable/Disable key frequency catching of SpaceVim. default value is 0. to
|
|
enable it:
|
|
>
|
|
let g:spacevim_enable_key_frequency = 1
|
|
<
|
|
|
|
*g:spacevim_autocomplete_method*
|
|
Set the autocomplete engine of spacevim, the default logic is:
|
|
>
|
|
if has('python3')
|
|
let g:spacevim_autocomplete_method = 'deoplete'
|
|
elseif has('lua')
|
|
let g:spacevim_autocomplete_method = 'neocomplete'
|
|
elseif has('python')
|
|
let g:spacevim_autocomplete_method = 'completor'
|
|
elseif has('timers')
|
|
let g:spacevim_autocomplete_method = 'asyncomplete'
|
|
else
|
|
let g:spacevim_autocomplete_method = 'neocomplcache'
|
|
endif
|
|
<
|
|
|
|
and you can alse set this option to coc, then coc.nvim will be used.
|
|
|
|
*g:spacevim_enable_neomake*
|
|
SpaceVim default checker is neomake. If you want to use syntastic, use:
|
|
>
|
|
let g:spacevim_enable_neomake = 0
|
|
<
|
|
|
|
*g:spacevim_enable_ale*
|
|
Use ale for syntax checking, disabled by default.
|
|
>
|
|
let g:spacevim_enable_ale = 1
|
|
<
|
|
|
|
*g:spacevim_guifont*
|
|
Set the guifont of SpaceVim. Default is empty.
|
|
>
|
|
let g:spacevim_guifont = "SauceCodePro Nerd Font Mono:h11"
|
|
<
|
|
|
|
*g:spacevim_enable_ycm*
|
|
Enable/Disable YouCompleteMe. Default is 0.
|
|
>
|
|
let g:spacevim_enable_ycm = 1
|
|
<
|
|
|
|
*g:spacevim_sidebar_width*
|
|
Set the width of the SpaceVim sidebar. Default is 30. This value will be used
|
|
by tagbar and vimfiler.
|
|
|
|
*g:spacevim_snippet_engine*
|
|
Set the snippet engine of SpaceVim, default is neosnippet. to enable
|
|
ultisnips:
|
|
>
|
|
let g:spacevim_snippet_engine = "ultisnips"
|
|
<
|
|
|
|
*g:spacevim_enable_cursorline*
|
|
Enable/Disable cursorline. Default is 1, cursorline will be highlighted in
|
|
normal mode.To disable this feature:
|
|
>
|
|
let g:spacevim_enable_cursorline = 0
|
|
<
|
|
|
|
*g:spacevim_statusline_separator*
|
|
Set the statusline separators of statusline, default is 'nil'
|
|
>
|
|
Separators options:
|
|
1. arrow
|
|
2. curve
|
|
3. slant
|
|
4. nil
|
|
5. fire
|
|
<
|
|
|
|
See more details in: http://spacevim.org/documentation/#statusline
|
|
|
|
|
|
*g:spacevim_statusline_iseparator*
|
|
Set the statusline separators of statusline in inactive windows, default is
|
|
'nil'
|
|
>
|
|
Separators options:
|
|
1. arrow
|
|
2. curve
|
|
3. slant
|
|
4. nil
|
|
5. fire
|
|
<
|
|
|
|
See more details in: http://spacevim.org/documentation/#statusline
|
|
|
|
|
|
*g:spacevim_enable_statusline_bfpath*
|
|
Enable/Disable showing full path of current buffer on statusline, disabled by
|
|
default, to enable this feature:
|
|
>
|
|
enable_statusline_bfpath = true
|
|
<
|
|
|
|
*g:spacevim_enable_statusline_tag*
|
|
Enable/Disable showing current tag on statusline
|
|
|
|
*g:spacevim_statusline_left_sections*
|
|
Define the left section of statusline in active windows. By default:
|
|
>
|
|
let g:spacevim_statusline_left_sections =
|
|
\ [
|
|
\ 'winnr',
|
|
\ 'filename',
|
|
\ 'major mode',
|
|
\ 'minor mode lighters',
|
|
\ 'version control info'
|
|
\ ]
|
|
<
|
|
|
|
*g:spacevim_statusline_right_sections*
|
|
Define the right section of statusline in active windows. By default:
|
|
>
|
|
g:spacevim_statusline_right_sections =
|
|
\ [
|
|
\ 'fileformat',
|
|
\ 'cursorpos',
|
|
\ 'percentage'
|
|
\ ]
|
|
<
|
|
|
|
*g:spacevim_statusline_unicode_symbols*
|
|
Enable/Disable unicode symbols in statusline
|
|
|
|
*g:spacevim_enable_language_specific_leader*
|
|
Enable/Disable language specific leader, by default you can use `,` ket
|
|
instead of `SPC` `l`.
|
|
|
|
*g:spacevim_enable_statusline_mode*
|
|
Enable/Disable display mode. Default is 0, mode will be displayed in
|
|
statusline. To enable this feature:
|
|
>
|
|
let g:spacevim_enable_statusline_mode = 1
|
|
<
|
|
|
|
*g:spacevim_custom_color_palette*
|
|
Set the statusline/tabline palette of color, default values depends on the
|
|
theme
|
|
>
|
|
let g:spacevim_custom_color_palette = [
|
|
\ ['#282828', '#b8bb26', 246, 235],
|
|
\ ['#a89984', '#504945', 239, 246],
|
|
\ ['#a89984', '#3c3836', 237, 246],
|
|
\ ['#665c54', 241],
|
|
\ ['#282828', '#83a598', 235, 109],
|
|
\ ['#282828', '#fe8019', 235, 208],
|
|
\ ['#282828', '#8ec07c', 235, 108],
|
|
\ ['#282828', '#689d6a', 235, 72],
|
|
\ ['#282828', '#8f3f71', 235, 132],
|
|
\ ]
|
|
<
|
|
|
|
|
|
*g:spacevim_enable_cursorcolumn*
|
|
Enable/Disable cursorcolumn. Default is 0, cursorcolumn will be highlighted in
|
|
normal mode. To enable this feature:
|
|
>
|
|
let g:spacevim_enable_cursorcolumn = 1
|
|
<
|
|
|
|
*g:spacevim_error_symbol*
|
|
Set the error symbol for SpaceVim's syntax maker. Default is '✖'.
|
|
>
|
|
let g:spacevim_error_symbol = '+'
|
|
<
|
|
|
|
*g:spacevim_warning_symbol*
|
|
Set the warning symbol for SpaceVim's syntax maker. Default is '⚠'.
|
|
>
|
|
let g:spacevim_warning_symbol = '!'
|
|
<
|
|
|
|
*g:spacevim_info_symbol*
|
|
Set the information symbol for SpaceVim's syntax maker. Default is '🛈'.
|
|
>
|
|
let g:spacevim_info_symbol = 'i'
|
|
<
|
|
|
|
*g:spacevim_terminal_cursor_shape*
|
|
Set the SpaceVim cursor shape in the terminal.
|
|
>
|
|
0 : to prevent Nvim from changing the cursor shape.
|
|
1 : to enable non-blinking mode-sensitive cursor.
|
|
2 : to enable blinking mode-sensitive cursor (default).
|
|
<
|
|
|
|
>
|
|
<
|
|
Host terminal must support the DECSCUSR CSI escape sequence. Depending on the
|
|
terminal emulator, using this option with nvim under tmux might require adding
|
|
the following to ~/.tmux.conf:
|
|
>
|
|
set -ga terminal-overrides ',*:Ss=\E[%p1%d q:Se=\E[2 q'
|
|
<
|
|
|
|
*g:spacevim_vim_help_language*
|
|
Set the help language of vim. Default is 'en'. You can change it to Chinese.
|
|
>
|
|
let g:spacevim_vim_help_language = 'cn'
|
|
<
|
|
|
|
*g:spacevim_language*
|
|
Set the message language of vim. Default is 'en_US.UTF-8'.
|
|
>
|
|
let g:spacevim_language = 'en_CA.utf8'
|
|
<
|
|
|
|
*g:spacevim_keep_server_alive*
|
|
Option for keep the spacevim server ailive
|
|
|
|
*g:spacevim_colorscheme*
|
|
The colorscheme of SpaceVim. Default is 'gruvbox'.
|
|
|
|
*g:spacevim_colorscheme_bg*
|
|
The background of colorscheme. Default is 'dark'.
|
|
|
|
*g:spacevim_colorscheme_default*
|
|
The default colorscheme of SpaceVim. Default is 'desert'. This colorscheme
|
|
will be used if the colorscheme set by `g:spacevim_colorscheme` is not
|
|
installed.
|
|
>
|
|
let g:spacevim_colorscheme_default = 'other_color'
|
|
<
|
|
|
|
*g:spacevim_simple_mode*
|
|
Enable/disable simple mode of SpaceVim. Default is 0. In this mode, only few
|
|
plugins will be installed.
|
|
>
|
|
let g:spacevim_simple_mode = 1
|
|
<
|
|
|
|
*g:spacevim_filemanager*
|
|
The default file manager of SpaceVim. Default is 'vimfiler'. you can also use
|
|
nerdtree or defx
|
|
|
|
*g:spacevim_filetree_direction*
|
|
Config the direction of file tree. Default is 'right'. you can also set to
|
|
'left'.
|
|
|
|
NOTE: if it is 'left', the tagbar will be move to right.
|
|
|
|
*g:spacevim_plugin_manager_processes*
|
|
Set the max process of SpaceVim plugin manager
|
|
|
|
*g:spacevim_checkinstall*
|
|
Enable/Disable checkinstall on SpaceVim startup. Default is 1.
|
|
>
|
|
let g:spacevim_checkinstall = 1
|
|
<
|
|
|
|
*g:spacevim_vimcompatible*
|
|
Enable/Disable vimcompatible mode, by default it is disabled. In vimcompatible
|
|
mode all vim origin key bindings will not be changed.
|
|
|
|
Includes:
|
|
>
|
|
q smart quit windows
|
|
s windows key bindings leader
|
|
<C-x> switch buffer
|
|
<
|
|
|
|
*g:spacevim_enable_debug*
|
|
Enable/Disable debug mode for SpaceVim. Default is 0.
|
|
>
|
|
let g:spacevim_enable_debug = 1
|
|
<
|
|
|
|
*g:spacevim_auto_disable_touchpad*
|
|
Auto disable touchpad when switch to insert mode or focuslost in neovim.
|
|
|
|
*g:spacevim_debug_level*
|
|
Set the debug level of SpaceVim. Default is 1. see
|
|
|SpaceVim#logger#setLevel()|
|
|
|
|
*g:spacevim_buffer_index_type*
|
|
Set SpaceVim buffer index type, default is 4.
|
|
>
|
|
" types:
|
|
" 0: 1 ➛ ➊
|
|
" 1: 1 ➛ ➀
|
|
" 2: 1 ➛ ⓵
|
|
" 3: 1 ➛ ¹
|
|
" 4: 1 ➛ 1
|
|
let g:spacevim_buffer_index_type = 1
|
|
<
|
|
|
|
*g:spacevim_windows_index_type*
|
|
Set SpaceVim windows index type, default is 3.
|
|
>
|
|
" types:
|
|
" 0: 1 ➛ ➊
|
|
" 1: 1 ➛ ➀
|
|
" 2: 1 ➛ ⓵
|
|
" 3: 1 ➛ 1
|
|
let g:spacevim_windows_index_type = 1
|
|
<
|
|
|
|
*g:spacevim_enable_tabline_ft_icon*
|
|
Enable/Disable tabline filetype icon. default is 0.
|
|
|
|
*g:spacevim_enable_os_fileformat_icon*
|
|
Enable/Disable os fileformat icon. default is 0.
|
|
|
|
*g:spacevim_github_username*
|
|
Set the github username, It will be used for getting your starred repos, and
|
|
fuzzy find the repo you want.
|
|
|
|
*g:spacevim_windows_smartclose*
|
|
Set the default key for smart close windows, default is `q`.
|
|
|
|
*g:spacevim_disabled_plugins*
|
|
Disable plugins by name.
|
|
>
|
|
let g:spacevim_disabled_plugins = ['vim-foo', 'vim-bar']
|
|
<
|
|
|
|
*g:spacevim_custom_plugins*
|
|
Add custom plugins.
|
|
>
|
|
let g:spacevim_custom_plugins = [
|
|
\ ['plasticboy/vim-markdown', 'on_ft' : 'markdown'],
|
|
\ ['wsdjeg/GitHub.vim'],
|
|
\ ]
|
|
<
|
|
|
|
*g:spacevim_filetype_icons*
|
|
change the default filetype icon for a specific filtype.
|
|
>
|
|
let g:spacevim_filetype_icons['md'] = ''
|
|
<
|
|
|
|
*g:spacevim_force_global_config*
|
|
SpaceVim will load the global config after local config if set to 1. Default
|
|
is 0. If you have a local config, the global config will not be loaded.
|
|
>
|
|
let g:spacevim_force_global_config = 1
|
|
<
|
|
|
|
*g:spacevim_enable_powerline_fonts*
|
|
Enable/Disable powerline symbols. Default is 1.
|
|
|
|
*g:spacevim_lint_on_save*
|
|
Enable/Disable lint on save feature of SpaceVim's maker. Default is 1.
|
|
>
|
|
let g:spacevim_lint_on_save = 0
|
|
<
|
|
|
|
*g:spacevim_search_tools*
|
|
Default search tools supported by flygrep. The default order is ['rg', 'ag',
|
|
'pt', 'ack', 'grep', 'findstr']
|
|
|
|
*g:spacevim_project_rooter_patterns*
|
|
Set the project rooter patterns, by default it is `['.git/', '_darcs/',
|
|
'.hg/', '.bzr/', '.svn/']`
|
|
|
|
*g:spacevim_project_rooter_automatically*
|
|
Enable/Disable changing directory automatically. Enabled by default.
|
|
|
|
*g:spacevim_commandline_prompt*
|
|
Config the command line prompt for flygrep and denite etc.
|
|
|
|
*g:spacevim_lint_on_the_fly*
|
|
Enable/Disable lint on the fly feature of SpaceVim's maker. Default is 0.
|
|
>
|
|
let g:spacevim_lint_on_the_fly = 0
|
|
<
|
|
|
|
*g:spacevim_update_retry_cnt*
|
|
Set the number of retries for SpaceVim Update when failed. Default is 3. Set
|
|
to 0 to disable this feature, or you can set to another number.
|
|
>
|
|
let g:spacevim_update_retry_cnt = 3
|
|
<
|
|
|
|
*g:spacevim_enable_vimfiler_welcome*
|
|
Enable/Disable vimfiler in the welcome windows. Default is 1. This will cause
|
|
vim to start up slowly if there are too many files in the current directory.
|
|
>
|
|
let g:spacevim_enable_vimfiler_welcome = 0
|
|
<
|
|
|
|
*g:spacevim_enable_vimfiler_gitstatus*
|
|
Enable/Disable gitstatus column in vimfiler buffer, default is 0.
|
|
|
|
*g:spacevim_enable_vimfiler_filetypeicon*
|
|
Enable/Disable filetypeicon column in vimfiler buffer, default is 0.
|
|
|
|
*g:spacevim_autocomplete_parens*
|
|
Enable/Disable autocompletion of parentheses, default is 1 (enabled).
|
|
|
|
*g:spacevim_hosts_url*
|
|
The host file url. This option is for Chinese users who can not use Google and
|
|
Twitter.
|
|
|
|
*g:neomake_echo_current_error*
|
|
neomake/neomake {{{ This setting will echo the error for the line your cursor
|
|
is on, if any.
|
|
|
|
*g:ale_echo_delay*
|
|
w0rp/ale {{{
|
|
|
|
*g:github_issues_no_omni*
|
|
jaxbot/github-issues.vim {{{ Disable completion by github-issues.vim. Because
|
|
github-complete.vim provides more powerful completion.
|
|
|
|
*g:github_dashboard*
|
|
junegunn/vim-github-dashboard {{{
|
|
|
|
*g:dash_map*
|
|
rizzatti/dash.vim {{{ Allows configuration of mappings between Vim filetypes
|
|
and Dash's docsets.
|
|
|
|
==============================================================================
|
|
COMMANDS *SpaceVim-commands*
|
|
|
|
:SPLayer {layers} *:SPLayer*
|
|
Load exist layer, {layers} can be a string of a layer name, or a list of
|
|
layer names.
|
|
|
|
:SPVersion *:SPVersion*
|
|
Print the version of SpaceVim. The following lines contain information
|
|
about which features were enabled. When there is a preceding '+', the
|
|
feature is included, when there is a '-' it is excluded.
|
|
|
|
:SPSet {opt} [value] *:SPSet*
|
|
Set or check SpaceVim option. {opt} should be the option name of spacevim,
|
|
This command will use [value] as the value of option name.
|
|
|
|
:SPDebugInfo[!] *:SPDebugInfo*
|
|
print the debug information of spacevim, [!] forces the output into a new
|
|
buffer.
|
|
|
|
:SPRuntimeLog *:SPRuntimeLog*
|
|
view runtime log
|
|
|
|
:SPConfig *:SPConfig*
|
|
edit custom config file of SpaceVim, by default this command will open
|
|
global custom configuration file, '-l' option will load local custom
|
|
configuration file.
|
|
>
|
|
:SPConfig -g
|
|
<
|
|
|
|
:SPUpdate *:SPUpdate*
|
|
Command for update plugin, support completion of plugin name. If run without
|
|
argv, All the plugin will be updated.
|
|
>
|
|
:SPUpdate vim-airline
|
|
<
|
|
|
|
:SPReinstall *:SPReinstall*
|
|
Command for reinstall plugin, support completion of plugin name.
|
|
|
|
:SPInstall *:SPInstall*
|
|
Command for install plugins.
|
|
|
|
==============================================================================
|
|
FUNCTIONS *SpaceVim-functions*
|
|
|
|
SpaceVim#api#import({name}) *SpaceVim#api#import()*
|
|
Import API base the given {name}, and return the API object. for all
|
|
available APIs please check |spacevim-api|
|
|
|
|
SpaceVim#layers#load({layer}) *SpaceVim#layers#load()*
|
|
Load the {layer} you want. For all the layers SpaceVim supports, see
|
|
|SpaceVim-layers|. the second argv is the layer variable.
|
|
|
|
SpaceVim#logger#setLevel({level}) *SpaceVim#logger#setLevel()*
|
|
Set debug level of SpaceVim. Default is 1.
|
|
|
|
1 : log all messages
|
|
|
|
2 : log warning and error messages
|
|
|
|
3 : log error messages only
|
|
|
|
SpaceVim#logger#setOutput({file}) *SpaceVim#logger#setOutput()*
|
|
Set the log output file of SpaceVim. Default is empty.
|
|
|
|
SpaceVim#plugins#iedit#start() *SpaceVim#plugins#iedit#start()*
|
|
public API for iedit mode
|
|
>
|
|
KEY:
|
|
expr match expression
|
|
word match word
|
|
stack cursor pos stack
|
|
<
|
|
if only argv 1 is given, use selected word as pattern
|
|
|
|
==============================================================================
|
|
LAYERS *SpaceVim-layers*
|
|
|
|
SpaceVim support such layers:
|
|
|
|
languages:
|
|
|
|
https://www.scriptol.com/programming/list-programming-languages.php#query-lang
|
|
uage
|
|
|
|
==============================================================================
|
|
AUTOCOMPLETE *SpaceVim-autocomplete*
|
|
|
|
CODE COMPLETION
|
|
SpaceVim uses neocomplete as the default completion engine if vim has lua
|
|
support. If there is no lua support, neocomplcache will be used for the
|
|
completion engine. SpaceVim uses deoplete as the default completion engine for
|
|
neovim. Deoplete requires neovim to be compiled with python support. For more
|
|
information on python support, please read neovim's |provider-python|.
|
|
|
|
SpaceVim includes YouCompleteMe, but it is disabled by default. To enable ycm,
|
|
see |g:spacevim_enable_ycm|.
|
|
|
|
SNIPPET
|
|
SpaceVim use neosnippet as the default snippet engine. The default snippets
|
|
are provided by `Shougo/neosnippet-snippets`. For more information, please
|
|
read |neosnippet|. Neosnippet support custom snippets, and the default
|
|
snippets directory is `~/.SpaceVim/snippets/`. If
|
|
`g:spacevim_force_global_config = 1`, SpaceVim will not append
|
|
`./.SpaceVim/snippets` as default snippets directory.
|
|
|
|
==============================================================================
|
|
CHECKERS *SpaceVim-layer-checkers*
|
|
|
|
SpaceVim uses neomake as default syntax checker.
|
|
|
|
==============================================================================
|
|
COLORSCHEME *SpaceVim-colorscheme*
|
|
|
|
The ldefault colorscheme for SpaceVim is gruvbox. The colorscheme can be
|
|
changed with the `g:spacevim_colorscheme` option by adding the following line
|
|
to your `~/.SpaceVim/init.vim`.
|
|
>
|
|
let g:spacevim_colorscheme = 'solarized'
|
|
<
|
|
|
|
The following colorschemes are include in SpaceVim. If the colorscheme you
|
|
want is not included in the list below, a PR is welcome.
|
|
|
|
Also, there's one thing which everyone should know and pay attention to. NOT
|
|
all of below colorschemes support spell check very well. For example, a
|
|
colorscheme called atom doesn't support spell check very well.
|
|
|
|
SpaceVim is not gonna fix them since these should be in charge of each author.
|
|
|
|
==============================================================================
|
|
CORE#STATUSLINE *SpaceVim-layer-core-statusline*
|
|
|
|
This layer provides default statusline for SpaceVim If you want to use
|
|
airline's statusline, just disable this layer
|
|
>
|
|
[[layers]]
|
|
name = "core#statusline"
|
|
enable = false
|
|
<
|
|
|
|
==============================================================================
|
|
CORE#TABLINE *SpaceVim-layer-core-tabline*
|
|
|
|
This layer provides default tabline for SpaceVim If you want to use airline's
|
|
tabline, just disable this layer
|
|
>
|
|
[[layers]]
|
|
name = "core#tabline"
|
|
enable = false
|
|
<
|
|
|
|
==============================================================================
|
|
EXPRFOLD *SpaceVim-layer-exprfold*
|
|
|
|
Fold code quickly according to expr.
|
|
|
|
Mappings:
|
|
>
|
|
Key Mode Function
|
|
----------------------------------------------------
|
|
ZB normal Open fold block template
|
|
ZF normal Fold block
|
|
ZC normal Fold block comment
|
|
<
|
|
|
|
==============================================================================
|
|
FORMAT *SpaceVim-layer-format*
|
|
|
|
SpaceVim uses neoformat as the default code format tools. Neoformat uses a
|
|
variety of formatters for many filetypes. for more info see |neoformat| if you
|
|
want to run a formatter on save, just put this config into bootstrap function.
|
|
>
|
|
augroup fmt
|
|
autocmd!
|
|
autocmd BufWritePre * undojoin | Neoformat
|
|
augroup END
|
|
<
|
|
|
|
==============================================================================
|
|
GITHUB *SpaceVim-layer-github*
|
|
|
|
This layer provides GitHub integration for SpaceVim
|
|
|
|
MAPPINGS
|
|
|
|
>
|
|
Mode Key Function
|
|
-------------------------------------------------------------
|
|
normal SPC g h i show issues
|
|
normal SPC g h a show activities
|
|
normal SPC g h d show dashboard
|
|
normal SPC g h f show current file in browser
|
|
normal SPC g h I show issues in browser
|
|
normal SPC g h p show PRs in browser
|
|
<
|
|
|
|
==============================================================================
|
|
INCSEARCH *SpaceVim-layer-incsearch*
|
|
|
|
This layer improved incremental searching for neovim/vim
|
|
|
|
mappings
|
|
>
|
|
key mode description
|
|
/ n/v incsearch forward
|
|
? n/v incsearch backward
|
|
g/ n/v incsearch stay
|
|
n n nohlsearch n
|
|
N n nohlsearch N
|
|
* n nohlsearch *
|
|
g* n nohlsearch g*
|
|
# n nohlsearch #
|
|
g# n nohlsearch g#
|
|
z/ n incsearch fuzzy /
|
|
z? n incsearch fuzzy ?
|
|
zg? n incsearch fuzzy g?
|
|
<Space>/ n incsearch easymotion
|
|
<
|
|
|
|
==============================================================================
|
|
INDENTMOVE *SpaceVim-layer-indentmove*
|
|
|
|
Move cursor quickly according to indent.
|
|
|
|
MAPPINGS
|
|
|
|
>
|
|
Key mode function
|
|
-----------------------------------------------------------------
|
|
EH normal/visual move up to nearest line with smaller
|
|
indent level
|
|
EL normal/visual move down to nearest line with larger
|
|
indent level
|
|
EJ normal/visual move down to nearest line with smaller
|
|
or same indent level
|
|
EK normal/visual move down to nearest line with larger
|
|
or same indent level
|
|
EI normal/visual move down to nearest child indent
|
|
<
|
|
|
|
|
|
|
|
==============================================================================
|
|
LANG#C *SpaceVim-layer-lang-c*
|
|
|
|
This layer provides C family language code completion and syntax checking.
|
|
Requires clang.
|
|
|
|
Configuration for `tweekmonster/deoplete-clang2`:
|
|
|
|
1. Set the compile flags:
|
|
|
|
`let g:deoplete#sources#clang#flags = ['-Iwhatever', ...]`
|
|
|
|
2. Set the path to the clang executable:
|
|
|
|
`let g:deoplete#sources#clang#executable = '/usr/bin/clang'
|
|
|
|
3. `g:deoplete#sources#clang#autofill_neomake` is a boolean that tells this
|
|
plugin to fill in the `g:neomake_<filetype>_clang_maker` variable with the
|
|
clang executable path and flags. You will still need to enable it with
|
|
`g:neomake_<filetype>_enabled_make=['clang']`.
|
|
|
|
4. Set the standards for each language: `g:deoplete#sources#clang#std` is a
|
|
dict containing the standards you want to use. It's not used if you
|
|
already have `-std=whatever` in your flags. The defaults are:
|
|
|
|
>
|
|
{
|
|
'c': 'c11',
|
|
'cpp': 'c++1z',
|
|
'objc': 'c11',
|
|
'objcpp': 'c++1z',
|
|
}
|
|
<
|
|
5. `g:deoplete#sources#clang#preproc_max_lines` sets the maximum number of
|
|
lines to search for an #ifdef or #endif line. #ifdef lines are discarded
|
|
to get completions within conditional preprocessor blocks. The default is
|
|
50, setting it to 0 disables this feature.
|
|
|
|
|
|
==============================================================================
|
|
LANG#CRYSTAL *SpaceVim-layer-lang-crystal*
|
|
|
|
INTRO
|
|
The lang#crystal layer provides crystal filetype detection and syntax
|
|
highlight, crystal tool and crystal spec integration.
|
|
|
|
==============================================================================
|
|
LANG#CSHARP *SpaceVim-layer-lang-csharp*
|
|
|
|
This layer includes utilities and language-specific mappings for csharp
|
|
development.
|
|
|
|
KEY MAPPINGS
|
|
|
|
>
|
|
Mode Key Function
|
|
---------------------------------------------
|
|
normal SPC l b compile the project
|
|
normal SPC l f format current file
|
|
normal SPC l d show doc
|
|
normal SPC l e rename symbol under cursor
|
|
normal SPC l g g go to definition
|
|
normal SPC l g i find implementations
|
|
normal SPC l g t find type
|
|
normal SPC l g s find symbols
|
|
normal SPC l g u find usages of symbol under cursor
|
|
normal SPC l g m find members in the current buffer
|
|
normal SPC l s r reload the solution
|
|
normal SPC l s s start the OmniSharp server
|
|
normal SPC l s S stop the OmniSharp server
|
|
<
|
|
|
|
==============================================================================
|
|
LANG#D *SpaceVim-layer-lang-d*
|
|
|
|
This layer is for d development, disabled by default, to enable this layer,
|
|
add following snippet to your SpaceVim configuration file.
|
|
>
|
|
[[layers]]
|
|
name = 'lang#d'
|
|
<
|
|
|
|
KEY BINDINGS
|
|
|
|
>
|
|
Mode Key Function
|
|
---------------------------------------------
|
|
normal SPC l r run current file
|
|
<
|
|
|
|
This layer also provides REPL support for d, the key bindings are:
|
|
>
|
|
Key Function
|
|
---------------------------------------------
|
|
SPC l s i Start a inferior REPL process
|
|
SPC l s b send whole buffer
|
|
SPC l s l send current line
|
|
SPC l s s send selection text
|
|
<
|
|
|
|
|
|
==============================================================================
|
|
LANG#DART *SpaceVim-layer-lang-dart*
|
|
|
|
INTRO
|
|
The lang#dart layer provides code completion, documentation lookup, jump to
|
|
definition, dart_repl integration for dart. It uses neomake as default syntax
|
|
checker which is loaded in |SpaceVim-layer-checkers|
|
|
|
|
==============================================================================
|
|
LANG#ELIXIR *SpaceVim-layer-lang-elixir*
|
|
|
|
INTRO
|
|
The lang#elixir layer provides code completion, documentation lookup, jump to
|
|
definition, mix integration, and iex integration for Elixir. SpaceVim uses
|
|
neomake as default syntax checker which is loaded in |SpaceVim-layer-checkers|
|
|
|
|
==============================================================================
|
|
LANG#ELM *SpaceVim-layer-lang-elm*
|
|
|
|
INTRO
|
|
The lang#elm layer provides code completion, documentation lookup, jump to
|
|
definition, mix integration, and iex integration for elm. SpaceVim uses
|
|
neomake as default syntax checker which is loaded in |SpaceVim-layer-checkers|
|
|
|
|
==============================================================================
|
|
LANG#GO *SpaceVim-layer-lang-go*
|
|
|
|
This layer includes code completion and syntax checking for Go development.
|
|
|
|
MAPPINGS
|
|
|
|
>
|
|
Mode Key Function
|
|
---------------------------------------------
|
|
normal SPC l a go alternate
|
|
normal SPC l b go build
|
|
normal SPC l c go coverage
|
|
normal SPC l d go doc
|
|
normal SPC l D go doc vertical
|
|
normal SPC l e go rename
|
|
normal SPC l g go definition
|
|
normal SPC l G go generate
|
|
normal SPC l h go info
|
|
normal SPC l i go implements
|
|
normal SPC l I implement stubs
|
|
normal SPC l k add tags
|
|
normal SPC l K remove tags
|
|
normal SPC l l list declarations in file
|
|
normal SPC l L list declarations in dir
|
|
normal SPC l m format improts
|
|
normal SPC l M add import
|
|
normal SPC l x go referrers
|
|
normal SPC l s fill struct
|
|
normal SPC l t go test
|
|
normal SPC l v freevars
|
|
normal SPC l r go run
|
|
<
|
|
|
|
==============================================================================
|
|
LANG#GROOVY *SpaceVim-layer-lang-groovy*
|
|
|
|
This layer is for groovy development, disabled by default, to enable this
|
|
layer, add following snippet to your SpaceVim configuration file.
|
|
>
|
|
[[layers]]
|
|
name = 'lang#groovy'
|
|
<
|
|
|
|
KEY BINDINGS
|
|
|
|
>
|
|
Mode Key Function
|
|
---------------------------------------------
|
|
normal SPC l r run current file
|
|
<
|
|
|
|
This layer also provides REPL support for groovy, the key bindings are:
|
|
>
|
|
Key Function
|
|
---------------------------------------------
|
|
SPC l s i Start a inferior REPL process
|
|
SPC l s b send whole buffer
|
|
SPC l s l send current line
|
|
SPC l s s send selection text
|
|
<
|
|
|
|
|
|
==============================================================================
|
|
LANG#HACK *SpaceVim-layer-lang-hack*
|
|
|
|
This layer is for hack development, disabled by default, to enable this layer,
|
|
add following snippet to your SpaceVim configuration file.
|
|
>
|
|
[[layers]]
|
|
name = 'lang#hack'
|
|
<
|
|
|
|
KEY BINDINGS
|
|
|
|
>
|
|
Mode Key Function
|
|
---------------------------------------------
|
|
normal SPC l r run current file
|
|
<
|
|
|
|
This layer also provides REPL support for hack, the key bindings are:
|
|
>
|
|
Key Function
|
|
---------------------------------------------
|
|
SPC l s i Start a inferior REPL process
|
|
SPC l s b send whole buffer
|
|
SPC l s l send current line
|
|
SPC l s s send selection text
|
|
<
|
|
|
|
|
|
==============================================================================
|
|
LANG#HASKELL *SpaceVim-layer-lang-haskell*
|
|
|
|
This layer is for haskell development, disabled by default, to enable this
|
|
layer, add following snippet to your SpaceVim configuration file.
|
|
>
|
|
[[layers]]
|
|
name = 'lang#haskell'
|
|
<
|
|
|
|
KEY BINDINGS
|
|
|
|
>
|
|
Mode Key Function
|
|
---------------------------------------------
|
|
normal SPC l r run current file
|
|
<
|
|
|
|
This layer also provides REPL support for haskell, the key bindings are:
|
|
>
|
|
Key Function
|
|
---------------------------------------------
|
|
SPC l s i Start a inferior REPL process
|
|
SPC l s b send whole buffer
|
|
SPC l s l send current line
|
|
SPC l s s send selection text
|
|
<
|
|
|
|
|
|
==============================================================================
|
|
LANG#HY *SpaceVim-layer-lang-hy*
|
|
|
|
This layer is for hy development, disabled by default, to enable this layer,
|
|
add following snippet to your SpaceVim configuration file.
|
|
>
|
|
[[layers]]
|
|
name = 'lang#hy'
|
|
<
|
|
|
|
KEY BINDINGS
|
|
|
|
>
|
|
Mode Key Function
|
|
---------------------------------------------
|
|
normal SPC l r run current file
|
|
<
|
|
|
|
This layer also provides REPL support for hy, the key bindings are:
|
|
>
|
|
Key Function
|
|
---------------------------------------------
|
|
SPC l s i Start a inferior REPL process
|
|
SPC l s b send whole buffer
|
|
SPC l s l send current line
|
|
SPC l s s send selection text
|
|
<
|
|
|
|
|
|
==============================================================================
|
|
LANG#JAVA *SpaceVim-layer-lang-java*
|
|
|
|
This layer is for Java development.
|
|
|
|
MAPPINGS
|
|
|
|
>
|
|
Import key bindings:
|
|
|
|
Mode Key Function
|
|
-------------------------------------------------------------
|
|
normal <F4> import class under cursor
|
|
insert <F4> import class under cursor
|
|
normal SPC l I import missing classes
|
|
normal SPC l R remove unused imports
|
|
normal SPC l i smart import class under cursor
|
|
insert <c-j>I import missing imports
|
|
insert <c-j>R remove unused imports
|
|
insert <c-j>i smart import class under cursor
|
|
|
|
Generate key bindings:
|
|
|
|
Mode Key Function
|
|
-------------------------------------------------------------
|
|
normal SPC l g A generate accessors
|
|
normal SPC l g s generate setter accessor
|
|
normal SPC l g g generate getter accessor
|
|
normal SPC l g a generate setter and getter accessor
|
|
normal SPC l g t generate toString function
|
|
normal SPC l g e generate equals and hashcode function
|
|
normal SPC l g c generate constructor
|
|
normal SPC l g C generate default constructor
|
|
insert <c-j>s generate setter accessor
|
|
insert <c-j>g generate getter accessor
|
|
insert <c-j>a generate getter and setter accessor
|
|
visual SPC l g s generate setter accessor
|
|
visual SPC l g g generate getter accessor
|
|
visual SPC l g a generate setter and getter accessor
|
|
|
|
Maven key bindings:
|
|
|
|
Mode Key Function
|
|
-------------------------------------------------------------
|
|
normal SPC l m i run maven clean install
|
|
normal SPC l m I run maven install
|
|
normal SPC l m p run one already goal from list
|
|
normal SPC l m r run maven goals
|
|
normal SPC l m R run one maven goal
|
|
normal SPC l m t run maven test
|
|
|
|
Gradle key bindings:
|
|
|
|
Mode Key Function
|
|
-------------------------------------------------------------
|
|
normal SPC l g b run gradle clean build
|
|
normal SPC l g B run gradle build
|
|
normal SPC l g t run gradle test
|
|
|
|
Jump key bindings:
|
|
|
|
Mode Key Function
|
|
-------------------------------------------------------------
|
|
normal SPC l j a jump to alternate file
|
|
|
|
REPL key bindings:
|
|
|
|
Mode Key Function
|
|
-------------------------------------------------------------
|
|
normal SPC l s i start a jshell inferior REPL process
|
|
normal SPC l s b send buffer and keep code buffer focused
|
|
normal SPC l s l send line and keep code buffer focused
|
|
normal SPC l s s send selection text and keep code buffer focused
|
|
<
|
|
CODE FORMATTING
|
|
To make neoformat support java file, you should install uncrustify. or
|
|
download google's formater jar from:
|
|
https://github.com/google/google-java-format
|
|
|
|
and set 'g:spacevim_layer_lang_java_formatter' to the path of the jar.
|
|
|
|
==============================================================================
|
|
LANG#JULIA *SpaceVim-layer-lang-julia*
|
|
|
|
The layer provides synatax highlight julia. The completeion only works in
|
|
nvim with deoplete. However, the julia-vim could not be load on-demanding due
|
|
to its LaTeXToUnicode feature.
|
|
|
|
|
|
==============================================================================
|
|
LANG#KOTLIN *SpaceVim-layer-lang-kotlin*
|
|
|
|
This layer is for kotlin development.
|
|
|
|
==============================================================================
|
|
LANG#LIVESCRIPT *SpaceVim-layer-lang-livescript*
|
|
|
|
This layer is for livescript development, disabled by default, to enable this
|
|
layer, add following snippet to your SpaceVim configuration file.
|
|
>
|
|
[[layers]]
|
|
name = 'lang#livescript'
|
|
<
|
|
|
|
KEY BINDINGS
|
|
|
|
>
|
|
Mode Key Function
|
|
-------------------------------------------------------------
|
|
normal SPC l r run current file
|
|
<
|
|
|
|
This layer also provides REPL support for livescript, the key bindings are:
|
|
>
|
|
Key Function
|
|
---------------------------------------------
|
|
SPC l s i Start a inferior REPL process
|
|
SPC l s b send whole buffer
|
|
SPC l s l send current line
|
|
SPC l s s send selection text
|
|
<
|
|
|
|
|
|
==============================================================================
|
|
LANG#LUA *SpaceVim-layer-lang-lua*
|
|
|
|
This layer includes utilities and language-specific mappings for lua
|
|
development.
|
|
>
|
|
[[layers]]
|
|
name = 'lang#lua'
|
|
<
|
|
|
|
KEY BINDINGS
|
|
|
|
>
|
|
Mode Key Function
|
|
---------------------------------------------
|
|
normal SPC l r run current script
|
|
normal SPC l b compile current file
|
|
<
|
|
|
|
This layer also provides REPL support for lua, the key bindings are:
|
|
>
|
|
Key Function
|
|
---------------------------------------------
|
|
SPC l s i Start a inferior REPL process
|
|
SPC l s b send whole buffer
|
|
SPC l s l send current line
|
|
SPC l s s send selection text
|
|
<
|
|
|
|
|
|
==============================================================================
|
|
LANG#NIM *SpaceVim-layer-lang-nim*
|
|
|
|
This layer is for nim development, disabled by default, to enable this layer,
|
|
add following snippet to your SpaceVim configuration file.
|
|
>
|
|
[[layers]]
|
|
name = 'lang#nim'
|
|
<
|
|
|
|
KEY BINDINGS
|
|
|
|
>
|
|
Mode Key Function
|
|
-------------------------------------------------------------
|
|
normal SPC l r run current file
|
|
normal SPC l d show symbol info
|
|
normal SPC l e rename symbol in file
|
|
normal SPC l E rename symbol in project
|
|
normal g d go to definition
|
|
<
|
|
|
|
This layer also provides REPL support for nim, the key bindings are:
|
|
>
|
|
Key Function
|
|
---------------------------------------------
|
|
SPC l s i Start a inferior REPL process
|
|
SPC l s b send whole buffer
|
|
SPC l s l send current line
|
|
SPC l s s send selection text
|
|
<
|
|
|
|
|
|
==============================================================================
|
|
LANG#OCAML *SpaceVim-layer-lang-ocaml*
|
|
|
|
OCaml autocompletion provided by merlin.
|
|
|
|
Requirements:
|
|
>
|
|
opam
|
|
merlin
|
|
<
|
|
|
|
==============================================================================
|
|
LANG#PACT *SpaceVim-layer-lang-pact*
|
|
|
|
This layer is for pact development, disabled by default, to enable this layer,
|
|
add following snippet to your SpaceVim configuration file.
|
|
>
|
|
[[layers]]
|
|
name = 'lang#pact'
|
|
<
|
|
|
|
KEY BINDINGS
|
|
|
|
>
|
|
Mode Key Function
|
|
---------------------------------------------
|
|
normal SPC l r run current file
|
|
<
|
|
|
|
This layer also provides REPL support for pact, the key bindings are:
|
|
>
|
|
Key Function
|
|
---------------------------------------------
|
|
SPC l s i Start a inferior REPL process
|
|
SPC l s b send whole buffer
|
|
SPC l s l send current line
|
|
SPC l s s send selection text
|
|
<
|
|
|
|
|
|
==============================================================================
|
|
LANG#PHP *SpaceVim-layer-lang-php*
|
|
|
|
This layer is for PHP development. It proides code completion, syntax
|
|
checking, and jump to definition.
|
|
|
|
==============================================================================
|
|
LANG#PONY *SpaceVim-layer-lang-pony*
|
|
|
|
This layer is for pony development, disabled by default, to enable this layer,
|
|
add following snippet to your SpaceVim configuration file.
|
|
>
|
|
[[layers]]
|
|
name = 'lang#pony'
|
|
<
|
|
|
|
KEY BINDINGS
|
|
|
|
>
|
|
Mode Key Function
|
|
---------------------------------------------
|
|
normal SPC l r run current file
|
|
<
|
|
|
|
==============================================================================
|
|
LANG#PROCESSING *SpaceVim-layer-lang-processing*
|
|
|
|
This layer is for Processing development: https://processing.org
|
|
|
|
This is based on the work from https://github.com/sophacles/vim-processing
|
|
|
|
Requirements:
|
|
|
|
1. You will need a copy of processing-java. The best way to do this is to
|
|
get a copy of the Processing IDE from https://processing.org/download/
|
|
|
|
Once you have it, run it, and then select Tools -> install
|
|
"processing-java"
|
|
|
|
MAPPINGS
|
|
|
|
>
|
|
Mode Key Function
|
|
-----------------------------------------------
|
|
normal SPC l r execute current sketch
|
|
<
|
|
|
|
==============================================================================
|
|
LANG#PROLOG *SpaceVim-layer-lang-prolog*
|
|
|
|
This layer is for prolog development, disabled by default, to enable this
|
|
layer, add following snippet to your SpaceVim configuration file.
|
|
>
|
|
[[layers]]
|
|
name = 'lang#prolog'
|
|
<
|
|
|
|
|
|
==============================================================================
|
|
LANG#PUPPET *SpaceVim-layer-lang-puppet*
|
|
|
|
This layer is for Puppet development. It provides syntax highlighting and
|
|
syntax checking.
|
|
|
|
Requirements:
|
|
>
|
|
Puppet
|
|
Puppet Lint
|
|
<
|
|
|
|
==============================================================================
|
|
LANG#PYTHON *SpaceVim-layer-lang-python*
|
|
|
|
To make this layer work well, you should install jedi.
|
|
MAPPINGS
|
|
|
|
>
|
|
mode key function
|
|
<
|
|
|
|
==============================================================================
|
|
LANG#RACKET *SpaceVim-layer-lang-racket*
|
|
|
|
This layer is for racket development, disabled by default, to enable this
|
|
layer, add following snippet to your SpaceVim configuration file.
|
|
>
|
|
[[layers]]
|
|
name = 'lang#racket'
|
|
<
|
|
|
|
KEY BINDINGS
|
|
|
|
>
|
|
Mode Key Function
|
|
---------------------------------------------
|
|
normal SPC l r run current file
|
|
<
|
|
|
|
This layer also provides REPL support for racket, the key bindings are:
|
|
>
|
|
Key Function
|
|
---------------------------------------------
|
|
SPC l s i Start a inferior REPL process
|
|
SPC l s b send whole buffer
|
|
SPC l s l send current line
|
|
SPC l s s send selection text
|
|
<
|
|
|
|
|
|
==============================================================================
|
|
LANG#RUST *SpaceVim-layer-lang-rust*
|
|
|
|
This layer is for Rust development.
|
|
|
|
Requirements:
|
|
|
|
1. Racer needs a copy of the rust source. The easiest way to do this is with
|
|
rustup. Once rustup is installed, download the source with:
|
|
|
|
>
|
|
rustup component add rust-src
|
|
<
|
|
2. Install Rust nightly build
|
|
|
|
|
|
>
|
|
rustup install nightly
|
|
<
|
|
3. Install racer:
|
|
|
|
>
|
|
cargo +nightly install racer
|
|
<
|
|
4. Set the RUST_SRC_PATH variable in your .bashrc:
|
|
|
|
>
|
|
RUST_SRC_PATH=~/.multirust/toolchains/<change>/lib/rustlib/src/rust/src
|
|
export RUST_SRC_PATH
|
|
<
|
|
5. Add racer to your path, or set the path with:
|
|
|
|
>
|
|
let g:racer_cmd = "/path/to/racer/bin"
|
|
<
|
|
|
|
MAPPINGS
|
|
|
|
>
|
|
Mode Key Function
|
|
-----------------------------------------------
|
|
normal gd rust-definition
|
|
normal SPC l d rust-doc
|
|
normal SPC l r execute current file
|
|
normal SPC l s rust-def-split
|
|
normal SPC l x rust-def-vertical
|
|
<
|
|
|
|
==============================================================================
|
|
LANG#SCALA *SpaceVim-layer-lang-scala*
|
|
|
|
This layer is for Scala development.
|
|
|
|
MAPPINGS
|
|
|
|
>
|
|
Import key bindings:
|
|
|
|
Mode Key Function
|
|
-------------------------------------------------------------
|
|
normal <F4> show candidates for importing of cursor symbol
|
|
insert <F4> show candidates for importing of cursor symbol
|
|
normal SPC l i c show candidates for importing of cursor symbol
|
|
normal SPC l i q prompt for a qualified import
|
|
normal SPC l i o organize imports of current file
|
|
normal SPC l i s sort imports of current file
|
|
insert <c-;>i prompt for a qualified import
|
|
insert <c-;>o organize imports of current file
|
|
insert <c-;>s sort imports of current file
|
|
|
|
Debug key bindings:
|
|
|
|
Mode Key Function
|
|
-------------------------------------------------------------
|
|
normal SPC l d t show debug stack trace of current frame
|
|
normal SPC l d c continue the execution
|
|
normal SPC l d b set a breakpoint for the current line
|
|
normal SPC l d B clear all breakpoints
|
|
normal SPC l d l launching debugger
|
|
normal SPC l d i step into next statement
|
|
normal SPC l d o step over next statement
|
|
normal SPC l d O step out of current function
|
|
|
|
Sbt key bindings:
|
|
|
|
Mode Key Function
|
|
-------------------------------------------------------------
|
|
normal SPC l b c sbt clean compile
|
|
normal SPC l b r sbt run
|
|
normal SPC l b t sbt test
|
|
normal SPC l b p sbt package
|
|
normal SPC l b d sbt show project dependencies tree
|
|
normal SPC l b l sbt reload project build definition
|
|
normal SPC l b u sbt update external dependencies
|
|
normal SPC l b e run sbt to generate .ensime config file
|
|
|
|
Execute key bindings:
|
|
|
|
Mode Key Function
|
|
-------------------------------------------------------------
|
|
normal SPC l r run main class
|
|
|
|
REPL key bindings:
|
|
|
|
Mode Key Function
|
|
-------------------------------------------------------------
|
|
normal SPC l s i start a scala inferior REPL process
|
|
normal SPC l s b send buffer and keep code buffer focused
|
|
normal SPC l s l send line and keep code buffer focused
|
|
normal SPC l s s send selection text and keep code buffer focused
|
|
|
|
Other key bindings:
|
|
|
|
Mode Key Function
|
|
-------------------------------------------------------------
|
|
normal SPC l Q bootstrap server when first-time-use
|
|
normal SPC l h show Documentation of cursor symbol
|
|
normal SPC l n inline local refactoring of cursor symbol
|
|
normal SPC l e rename cursor symbol
|
|
normal SPC l g find Definition of cursor symbol
|
|
normal SPC l t show Type of expression of cursor symbol
|
|
normal SPC l p show Hierarchical view of a package
|
|
normal SPC l u find Usages of cursor symbol
|
|
|
|
<
|
|
SpaceVim uses [`ensime-vim`](http://ensime.github.io/editors/vim/install/) to
|
|
provide code completion, format, sort imports etc, if has python support. Also
|
|
you can enable lsp layer to has a better experience.
|
|
|
|
|
|
LANGUAGE SERVER `METALS-VIM`
|
|
|
|
Right now `metals-vim` works with `coc.nvim` to offer a richer user experience
|
|
than other servers(LanguageClient-neovim or vim-lsp). Please make sure that
|
|
`metals-vim` executable is in your `system $PATH`. Installation guide is here:
|
|
[`metals-vim`](https://scalameta.org/metals/docs/editors/vim.html)
|
|
|
|
|
|
ENSIME-VIM SETUP STEPS
|
|
|
|
The following is quick install steps, if you want to see complete details,
|
|
please see: [`ensime-vim`](http://ensime.github.io/editors/vim/install/)
|
|
|
|
1. Install vim`s plugin and its dependencies as following.
|
|
|
|
`pip install websocket-client sexpdata`,
|
|
|
|
`pip install pynvim` (neovim only).
|
|
|
|
2. Integration ENSIME with your build tools, here we use sbt. add
|
|
(sbt-ensime) as global plugin for sbt: Put code `addSbtPlugin("org.ensime"
|
|
% "sbt-ensime" % "2.6.1")` in file '~/.sbt/plugins/plugins.sbt' (create
|
|
if not exists). Armed with your build tool plugin, generate the `.ensime`
|
|
config file from your project directory in command line, e.g. for sbt use
|
|
`sbt ensimeConfig`, or `./gradlew ensime` for Gradle. the first time will
|
|
take several minutes.
|
|
|
|
3. The first time you use ensime-vim (per Scala version), it will
|
|
`bootstrap` the ENSIME server installation when opening a Scala file you
|
|
will be prompted to run |:EnInstall|. Do that and give it a minute or two
|
|
to run. After this, you should see reports in Vim's message area that
|
|
ENSIME is coming up, and the indexer and analyzer are ready. Going
|
|
forward, ensime-vim will automatically start the ENSIME server when you
|
|
edit Scala files in a project with an `.ensime` config present.
|
|
|
|
|
|
CODE FORMATTING
|
|
|
|
1. To make neoformat support scala file, you should install scalariform.
|
|
[`scalariform`](https://github.com/scala-ide/scalariform) and set
|
|
'g:spacevim_layer_lang_scala_formatter' to the path of the jar.
|
|
|
|
2. If lsp
|
|
[`metals-vim`](https://scalameta.org/metals/docs/editors/overview.html) is
|
|
enabled, it will automatically use
|
|
[`scalafmt`](https://scalameta.org/scalafmt/docs/configuration.html) to
|
|
format code.
|
|
|
|
==============================================================================
|
|
LANG#TCL *SpaceVim-layer-lang-tcl*
|
|
|
|
This layer is for tcl development, disabled by default, to enable this layer,
|
|
add following snippet to your SpaceVim configuration file.
|
|
>
|
|
[[layers]]
|
|
name = 'lang#tcl'
|
|
<
|
|
|
|
KEY BINDINGS
|
|
|
|
>
|
|
Mode Key Function
|
|
---------------------------------------------
|
|
normal SPC l r run current file
|
|
<
|
|
|
|
This layer also provides REPL support for tcl, the key bindings are:
|
|
>
|
|
Key Function
|
|
---------------------------------------------
|
|
SPC l s i Start a inferior REPL process
|
|
SPC l s b send whole buffer
|
|
SPC l s l send current line
|
|
SPC l s s send selection text
|
|
<
|
|
|
|
|
|
==============================================================================
|
|
LANG#XML *SpaceVim-layer-lang-xml*
|
|
|
|
When editing an xml file, the omni func is xmlcomplete#CompleteTags. You can
|
|
read the documentation in autoload/xmlcomplete.vim in the vim or neovim
|
|
runtime directory.
|
|
|
|
==============================================================================
|
|
OPERATOR *SpaceVim-layer-operator*
|
|
|
|
With this layer, you can confirm that text is yanked correctly and see yanked
|
|
text by highlighting.
|
|
|
|
==============================================================================
|
|
SHELL *SpaceVim-layer-shell*
|
|
|
|
SpaceVim uses deol.nvim for shell support in neovim and uses vimshell for vim.
|
|
For more info, read |deol| and |vimshell|.
|
|
|
|
VARIABLE
|
|
|
|
default_shell: config the default shell to be used by shell layer.
|
|
|
|
KEY BINDINGS
|
|
|
|
>
|
|
SPC ' Open or switch to terminal windows
|
|
q Hide terminal windows in normal mode
|
|
<
|
|
|
|
==============================================================================
|
|
TEST *SpaceVim-layer-test*
|
|
|
|
This layer allows to run tests on SpaceVim
|
|
|
|
MAPPINGS
|
|
|
|
>
|
|
Mode Key Function
|
|
-------------------------------------------------------------
|
|
normal SPC k n run nearest test
|
|
normal SPC k f run test file
|
|
normal SPC k s run test suite
|
|
normal SPC k l run the latest test
|
|
normal SPC k v visits the last run test file
|
|
<
|
|
|
|
==============================================================================
|
|
TMUX *SpaceVim-layer-tmux*
|
|
|
|
Adds integration between tmux and vim panes. Switch between panes
|
|
seamlessly.syntax highlighting, commenting, man page navigation and ability to
|
|
execute lines as tmux commands. This layer is not added by default. To include
|
|
it, add `SpaceVim#layers#load('tmux')` to your `~/.SpaceVim.d/init.vim`. If
|
|
you are having issues with <C-h> in a neovim buffer, see
|
|
`https://github.com/neovim/neovim/issues/2048#issuecomment-78045837`
|
|
|
|
MAPPINGS
|
|
|
|
>
|
|
Key Mode Function
|
|
------------------------------
|
|
<C-h> normal Switch to vim/tmux pane in left direction
|
|
<C-j> normal Switch to vim/tmux pane in down direction
|
|
<C-k> normal Switch to vim/tmux pane in up direction
|
|
<C-l> normal Switch to vim/tmux pane in right direction
|
|
<
|
|
|
|
==============================================================================
|
|
TOOLS#DASH *SpaceVim-layer-tools-dash*
|
|
|
|
This layer provides Dash integration for SpaceVim
|
|
|
|
==============================================================================
|
|
TOOLS#ZEAL *SpaceVim-layer-tools-zeal*
|
|
|
|
This layer provides Zeal integration for SpaceVim
|
|
|
|
==============================================================================
|
|
API *SpaceVim-api*
|
|
|
|
SpaceVim contains a variety of public apis. To using the api, you need to make
|
|
sure SpaceVim has been added to your &rtp. after that, you can use
|
|
|SpaceVim#api#import| to import the API you need.
|
|
|
|
USAGE
|
|
|
|
This is just an example, and it works well in old version vim.
|
|
>
|
|
let s:json = SpaceVim#api#import('data#json')
|
|
let rst = s:json.json_encode(onject)
|
|
let rst = s:json.json_decode(string)
|
|
<
|
|
|
|
here is list of resources where SpaceVim comes from:
|
|
|
|
vital: https://github.com/vim-jp/vital.vim
|
|
|
|
==============================================================================
|
|
CMDLINEMENU *SpaceVim-api-cmdlinemenu*
|
|
|
|
menu({items})
|
|
|
|
Create a cmdline selection menu from a list of {items}, each item should be a
|
|
list of two value in it, first one is the description, and the next one should
|
|
be a funcrc.
|
|
|
|
==============================================================================
|
|
DATA#DICT *SpaceVim-api-data-dict*
|
|
|
|
provides some functions to manipulate a dict.
|
|
|
|
make({keys}, {values}[, {fill}])
|
|
|
|
make a dictionary from two list, the {keys} and {values}.
|
|
|
|
swap({dict})
|
|
|
|
swap the keys and values in a dictionary.
|
|
|
|
make_index
|
|
|
|
make a dictionary from a list, use
|
|
|
|
==============================================================================
|
|
DATA#LIST *SpaceVim-api-data-list*
|
|
|
|
provides some functions to manipulate a list.
|
|
|
|
pop({list})
|
|
|
|
Removes the last element from {list} and returns the element, as if the
|
|
{list} is a stack.
|
|
|
|
push({list})
|
|
|
|
Appends {val} to the end of {list} and returns the list itself, as if the
|
|
{list} is a stack.
|
|
|
|
listpart({list}, {start}[, {len}])
|
|
|
|
The result is a List, which is part of {list}, starting from index {start},
|
|
with the length {len}
|
|
|
|
replace(list, begin, end, re_list)
|
|
|
|
replace {list} from {begin} to {end} with {re_list}
|
|
|
|
shift({list})
|
|
|
|
remove first item in a {list}, and return the item
|
|
|
|
unshift({list})
|
|
|
|
insert an item to the begin of the {list}
|
|
|
|
==============================================================================
|
|
DATA#STRING *SpaceVim-api-data-string*
|
|
|
|
|
|
FUNCTIONS
|
|
|
|
split(str [, sep [, keepempty[, max]]])
|
|
|
|
run vim command, and return the output of such command.
|
|
|
|
trim(str)
|
|
|
|
remove space at the begin and end of a string, same as |trim()|
|
|
|
|
fill(str, length[, char])
|
|
|
|
fill string to length with {char}, if {char} is omnit, a space is used.
|
|
|
|
==============================================================================
|
|
JOB *SpaceVim-api-job*
|
|
|
|
provides some functions to manager job
|
|
|
|
start({cmd}[, {opt}])
|
|
|
|
spawns {cmd} as a job. {opts} is a dictionary with these keys:
|
|
|
|
on_stdout: stdout event handler (function name or Funcref)
|
|
|
|
on_stderr: stderr event handler (function name or Funcref)
|
|
|
|
on_exit: exit event handler (function name or Funcref)
|
|
|
|
cwd: working directory of the job; defaults to current directory
|
|
|
|
==============================================================================
|
|
LOGGER *SpaceVim-api-logger*
|
|
|
|
provides some functions to manager logger
|
|
|
|
set_silent({silent})
|
|
|
|
{silent} is a Boolean. by default it is false, and log will be print to
|
|
screen.
|
|
|
|
==============================================================================
|
|
PASSWORD *SpaceVim-api-password*
|
|
|
|
provides some functions to generate password
|
|
|
|
generate_simple({len})
|
|
|
|
generate simple password
|
|
|
|
generate_strong({len})
|
|
|
|
generate strong password
|
|
|
|
generate_paranoid({len})
|
|
|
|
generate paranoid password
|
|
|
|
generate_numeric({len})
|
|
|
|
generate numeric password
|
|
|
|
generate_phonetic({len})
|
|
|
|
generate phonetic password
|
|
|
|
==============================================================================
|
|
PROMPT *SpaceVim-api-prompt*
|
|
|
|
open()
|
|
|
|
Create a cmdline prompt, use while loop to get the input from user. The
|
|
default mapping for prompt is:
|
|
>
|
|
<Bs> remove last character
|
|
<C-w> remove the Word before the cursor
|
|
<C-u> remove the Line before the cursor
|
|
<C-k> remove the Line after the cursor
|
|
<C-a> / <Home> Go to the beginning of the line
|
|
<C-e> / <End> Go to the end of the line
|
|
<
|
|
|
|
==============================================================================
|
|
SID *SpaceVim-api-vim-sid*
|
|
|
|
" Capture command
|
|
|
|
==============================================================================
|
|
SYSTEM *SpaceVim-api-system*
|
|
|
|
name()
|
|
|
|
Return the name of current os, availibel value is: linux, cygwin, windows and
|
|
mac.
|
|
|
|
==============================================================================
|
|
VIM#BUFFER *SpaceVim-api-vim-buffer*
|
|
|
|
FUNCTIONS
|
|
|
|
is_cmdwin()
|
|
|
|
Check if current windows is command line windows.
|
|
|
|
open(opt)
|
|
|
|
Open a new buffer with specifice options, return the buffer number, the {opt}
|
|
is a dict with following keys:
|
|
|
|
bufname : the buffer name of the new buffer
|
|
|
|
mode: how to open the new buffer, default is vertical topleft split
|
|
|
|
initfunc: the function which will be call after creating buffer
|
|
|
|
cmd: the ex command which will be run after the new buffer is created
|
|
|
|
==============================================================================
|
|
VIM#COMMAND *SpaceVim-api-vim-command*
|
|
|
|
This api is for create complete function for custom vim command. This is
|
|
example for create complete function for command TEST
|
|
>
|
|
let s:CMD = SpaceVim#api#import('vim#command')
|
|
let s:CMD.options = {
|
|
\ '-f' : {
|
|
\ 'description' : '',
|
|
\ 'complete' : ['text'],
|
|
\ },
|
|
\ '-d' : {
|
|
\ 'description' : 'Root directory for sources',
|
|
\ 'complete' : 'file',
|
|
\ },
|
|
\ }
|
|
function! CompleteTest(a, b, c)
|
|
return s:CMD.complete(a:a, a:b, a:c)
|
|
endfunction
|
|
function! Test(...)
|
|
endfunction
|
|
command! -nargs=* -complete=custom,CompleteTest TEST :call Test(<f-args>)
|
|
<
|
|
|
|
==============================================================================
|
|
VIM#COMPATIBLE *SpaceVim-api-vim-compatible*
|
|
|
|
|
|
FUNCTIONS
|
|
|
|
execute(cmd)
|
|
|
|
run vim command, and return the output of such command.
|
|
|
|
system(cmd)
|
|
|
|
like |system()| but can accept list as argv.
|
|
|
|
systemlist(cmd)
|
|
|
|
like |systemlist()| but can accept list as argv.
|
|
|
|
has(feature)
|
|
|
|
check if {feature} is supported in current version.
|
|
|
|
getjumplist()
|
|
|
|
return a list of jump position, like result of |:jump|
|
|
|
|
==============================================================================
|
|
VIM#MESSAGE *SpaceVim-api-vim-message*
|
|
|
|
==============================================================================
|
|
FAQ *SpaceVim-faq*
|
|
|
|
1. How do I enable YouCompleteMe?
|
|
|
|
>
|
|
I do not recommend using YouCompleteMe.
|
|
It is too big as a vim plugin. Also, I do not like using submodules in a vim
|
|
plugin. It is hard to manage with a plugin manager.
|
|
|
|
Step 1: Add `let g:spacevim_enable_ycm = 1` to custom_config. By default
|
|
it should be `~/.SpaceVim.d/init.vim`.
|
|
|
|
Step 2: Get into the directory of YouCompleteMe's author. By default it
|
|
should be `~/.cache/vimfiles/repos/github.com/Valloric/`. If you find the
|
|
directory `YouCompleteMe` in it, go into it. Otherwise clone
|
|
YouCompleteMe repo by
|
|
`git clone https://github.com/Valloric/YouCompleteMe.git`. After cloning,
|
|
get into it and run `git submodule update --init --recursive`.
|
|
|
|
Step 3: Compile YouCompleteMe with the features you want. If you just want
|
|
C family support, run `./install.py --clang-completer`.
|
|
<
|
|
|
|
2. How to add custom snippet?
|
|
|
|
>
|
|
SpaceVim uses neosnippet as the default snippet engine. If you want to add
|
|
a snippet for a vim filetype, open a vim file and run `:NeoSnippetEdit`
|
|
command. A buffer will be opened and you can add your custom snippet.
|
|
By default this buffer will be save in `~/.SpaceVim/snippets`.
|
|
If you want to use another directory:
|
|
|
|
let g:neosnippet#snippets_directory = '~/path/to/snip_dir'
|
|
|
|
For more info about how to write snippet, please
|
|
read |neosnippet-snippet-syntax|.
|
|
<
|
|
|
|
3. Where is `<c-f>` in cmdline-mode?
|
|
|
|
>
|
|
`<c-f>` is the default value of |cedit| option, but in SpaceVim we use that
|
|
binding as `<Right>`, so maybe you can change the `cedit` option or use
|
|
`<leader>+<c-f>`.
|
|
<
|
|
|
|
4. How to use `<Space>` as `<Leader>`?
|
|
|
|
>
|
|
Add `let mapleader = "\<Space>"` to `~/.SpaceVim.d/init.vim`
|
|
<
|
|
|
|
==============================================================================
|
|
CHANGELOG *SpaceVim-changelog*
|
|
|
|
Following HEAD: changes in master branch since last release v1.1.0
|
|
|
|
https://github.com/SpaceVim/SpaceVim/wiki/Following-HEAD
|
|
|
|
2019-04-08: v1.1.0
|
|
|
|
https://spacevim.org/SpaceVim-release-v1.1.0/
|
|
|
|
2018-12-25: v1.0.0
|
|
|
|
https://spacevim.org/SpaceVim-release-v1.0.0/
|
|
|
|
2018-09-26: v0.9.0
|
|
|
|
https://spacevim.org/SpaceVim-release-v0.9.0/
|
|
|
|
2018-06-18: v0.8.0
|
|
|
|
https://spacevim.org/SpaceVim-release-v0.8.0/
|
|
|
|
2018-03-18: v0.7.0
|
|
|
|
https://spacevim.org/SpaceVim-release-v0.7.0/
|
|
|
|
2017-12-30: v0.6.0
|
|
|
|
https://spacevim.org/SpaceVim-release-v0.6.0/
|
|
|
|
2017-11-06: v0.5.0
|
|
|
|
https://spacevim.org/SpaceVim-release-v0.5.0/
|
|
|
|
2017-08-05: v0.4.0
|
|
|
|
https://spacevim.org/SpaceVim-release-v0.4.0/
|
|
|
|
2017-06-27: v0.3.1
|
|
|
|
https://spacevim.org/SpaceVim-release-v0.3.1/
|
|
|
|
2017-05-31: v0.3.0
|
|
|
|
https://spacevim.org/SpaceVim-release-v0.3.0/
|
|
|
|
2017-03-30: v0.2.0
|
|
|
|
https://spacevim.org/SpaceVim-release-v0.2.0/
|
|
|
|
2017-01-26: v0.1.0
|
|
|
|
https://spacevim.org/SpaceVim-release-v0.1.0/
|
|
|
|
|
|
|
|
vim:tw=78:ts=8:ft=help:norl:
|