mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-24 02:20:03 +08:00
6961 lines
223 KiB
Plaintext
6961 lines
223 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. autocomplete_parens............|SpaceVim-options-autocomplete_parens|
|
||
3. bootstrap_after....................|SpaceVim-options-bootstrap_after|
|
||
4. bootstrap_before..................|SpaceVim-options-bootstrap_before|
|
||
5. bootstrap_script..................|SpaceVim-options-bootstrap_script|
|
||
6. buffer_index_type................|SpaceVim-options-buffer_index_type|
|
||
7. checkinstall..........................|SpaceVim-options-checkinstall|
|
||
8. code_runner_focus................|SpaceVim-options-code_runner_focus|
|
||
9. colorscheme............................|SpaceVim-options-colorscheme|
|
||
10. colorscheme_bg.....................|SpaceVim-options-colorscheme_bg|
|
||
11. commandline_prompt.............|SpaceVim-options-commandline_prompt|
|
||
12. data_dir.................................|SpaceVim-options-data_dir|
|
||
13. default_custom_leader.......|SpaceVim-options-default_custom_leader|
|
||
14. default_indent.....................|SpaceVim-options-default_indent|
|
||
15. disabled_plugins.................|SpaceVim-options-disabled_plugins|
|
||
16. enable_bepo_layout.............|SpaceVim-options-enable_bepo_layout|
|
||
17. enable_cursorcolumn...........|SpaceVim-options-enable_cursorcolumn|
|
||
18. enable_cursorline...............|SpaceVim-options-enable_cursorline|
|
||
19. enable_debug.........................|SpaceVim-options-enable_debug|
|
||
20. enable_googlesuggest.........|SpaceVim-options-enable_googlesuggest|
|
||
21. enable_guicolors.................|SpaceVim-options-enable_guicolors|
|
||
22. enable_key_frequency.........|SpaceVim-options-enable_key_frequency|
|
||
23. enable_list_mode.................|SpaceVim-options-enable_list_mode|
|
||
24. enable_projects_cache.......|SpaceVim-options-enable_projects_cache|
|
||
25. enable_statusline_bfpath.|SpaceVim-options-enable_statusline_bfpath|
|
||
26. enable_statusline_mode.....|SpaceVim-options-enable_statusline_mode|
|
||
27. enable_statusline_tag.......|SpaceVim-options-enable_statusline_tag|
|
||
28. enable_tabline_ft_icon.....|SpaceVim-options-enable_tabline_ft_icon|
|
||
29. enable_vimfiler_welcome...|SpaceVim-options-enable_vimfiler_welcome|
|
||
30. enable_ycm.............................|SpaceVim-options-enable_ycm|
|
||
31. error_symbol.........................|SpaceVim-options-error_symbol|
|
||
32. escape_key_binding.............|SpaceVim-options-escape_key_binding|
|
||
33. expand_tab.............................|SpaceVim-options-expand_tab|
|
||
34. file_searching_tools.........|SpaceVim-options-file_searching_tools|
|
||
35. filemanager...........................|SpaceVim-options-filemanager|
|
||
36. filetree_direction.............|SpaceVim-options-filetree_direction|
|
||
37. guifont...................................|SpaceVim-options-guifont|
|
||
38. home_files_number...............|SpaceVim-options-home_files_number|
|
||
39. info_symbol...........................|SpaceVim-options-info_symbol|
|
||
40. keep_server_alive...............|SpaceVim-options-keep_server_alive|
|
||
41. language.................................|SpaceVim-options-language|
|
||
42. lint_engine...........................|SpaceVim-options-lint_engine|
|
||
43. lint_on_the_fly...................|SpaceVim-options-lint_on_the_fly|
|
||
44. max_column.............................|SpaceVim-options-max_column|
|
||
45. plugin_bundle_dir...............|SpaceVim-options-plugin_bundle_dir|
|
||
46. plugin_manager_processes.|SpaceVim-options-plugin_manager_processes|
|
||
47. project_auto_root...............|SpaceVim-options-project_auto_root|
|
||
48. project_non_root.................|SpaceVim-options-project_non_root|
|
||
49. project_rooter_outermost.|SpaceVim-options-project_rooter_outermost|
|
||
50. project_rooter_patterns...|SpaceVim-options-project_rooter_patterns|
|
||
51. projects_cache_num.............|SpaceVim-options-projects_cache_num|
|
||
52. realtime_leader_guide.......|SpaceVim-options-realtime_leader_guide|
|
||
53. relativenumber.....................|SpaceVim-options-relativenumber|
|
||
54. retry_cnt...............................|SpaceVim-options-retry_cnt|
|
||
55. search_tools.........................|SpaceVim-options-search_tools|
|
||
56. sidebar_width.......................|SpaceVim-options-sidebar_width|
|
||
57. snippet_engine.....................|SpaceVim-options-snippet_engine|
|
||
58. src_root.................................|SpaceVim-options-src_root|
|
||
59. statusline_iseparator.......|SpaceVim-options-statusline_iseparator|
|
||
60. statusline_left...................|SpaceVim-options-statusline_left|
|
||
61. statusline_right.................|SpaceVim-options-statusline_right|
|
||
62. statusline_separator.........|SpaceVim-options-statusline_separator|
|
||
63. statusline_unicode.............|SpaceVim-options-statusline_unicode|
|
||
64. terminal_cursor_shape.......|SpaceVim-options-terminal_cursor_shape|
|
||
65. todo_labels...........................|SpaceVim-options-todo_labels|
|
||
66. todo_prefix...........................|SpaceVim-options-todo_prefix|
|
||
67. vim_help_language...............|SpaceVim-options-vim_help_language|
|
||
68. vimcompatible.......................|SpaceVim-options-vimcompatible|
|
||
69. warning_symbol.....................|SpaceVim-options-warning_symbol|
|
||
70. wildignore.............................|SpaceVim-options-wildignore|
|
||
71. windisk_encoding.................|SpaceVim-options-windisk_encoding|
|
||
72. windows_index_type.............|SpaceVim-options-windows_index_type|
|
||
73. windows_leader.....................|SpaceVim-options-windows_leader|
|
||
74. windows_smartclose.............|SpaceVim-options-windows_smartclose|
|
||
3. Configuration...........................................|SpaceVim-config|
|
||
4. Commands..............................................|SpaceVim-commands|
|
||
5. Public functions.....................................|SpaceVim-functions|
|
||
6. Layers..................................................|SpaceVim-layers|
|
||
1. Chinese.....................................|SpaceVim-layers-chinese|
|
||
2. VersionControl.......................|SpaceVim-layers-VersionControl|
|
||
3. autocomplete...........................|SpaceVim-layers-autocomplete|
|
||
4. chat...........................................|SpaceVim-layers-chat|
|
||
5. checkers...................................|SpaceVim-layers-checkers|
|
||
6. colorscheme.............................|SpaceVim-layers-colorscheme|
|
||
7. core...........................................|SpaceVim-layers-core|
|
||
8. core#statusline.....................|SpaceVim-layers-core-statusline|
|
||
9. core#tabline...........................|SpaceVim-layers-core-tabline|
|
||
10. cscope......................................|SpaceVim-layers-cscope|
|
||
11. ctrlp........................................|SpaceVim-layers-ctrlp|
|
||
12. debug........................................|SpaceVim-layers-debug|
|
||
13. edit..........................................|SpaceVim-layers-edit|
|
||
14. exprfold..................................|SpaceVim-layers-exprfold|
|
||
15. foldsearch..............................|SpaceVim-layers-foldsearch|
|
||
16. format......................................|SpaceVim-layers-format|
|
||
17. framework#django..................|SpaceVim-layers-framework-django|
|
||
18. fzf............................................|SpaceVim-layers-fzf|
|
||
19. git............................................|SpaceVim-layers-git|
|
||
20. github......................................|SpaceVim-layers-github|
|
||
21. gtags........................................|SpaceVim-layers-gtags|
|
||
22. incsearch................................|SpaceVim-layers-incsearch|
|
||
23. indentmove..............................|SpaceVim-layers-indentmove|
|
||
24. lang#WebAssembly..................|SpaceVim-layers-lang-WebAssembly|
|
||
25. lang#actionscript................|SpaceVim-layers-lang-actionscript|
|
||
26. lang#agda................................|SpaceVim-layers-lang-agda|
|
||
27. lang#asciidoc........................|SpaceVim-layers-lang-asciidoc|
|
||
28. lang#aspectj..........................|SpaceVim-layers-lang-aspectj|
|
||
29. lang#assembly........................|SpaceVim-layers-lang-assembly|
|
||
30. lang#autohotkey....................|SpaceVim-layers-lang-autohotkey|
|
||
31. lang#autoit............................|SpaceVim-layers-lang-autoit|
|
||
32. lang#batch..............................|SpaceVim-layers-lang-batch|
|
||
33. lang#c......................................|SpaceVim-layers-lang-c|
|
||
34. lang#chapel............................|SpaceVim-layers-lang-chapel|
|
||
35. lang#clojure..........................|SpaceVim-layers-lang-clojure|
|
||
36. lang#cmake..............................|SpaceVim-layers-lang-cmake|
|
||
37. lang#coffeescript................|SpaceVim-layers-lang-coffeescript|
|
||
38. lang#crystal..........................|SpaceVim-layers-lang-crystal|
|
||
39. lang#csharp............................|SpaceVim-layers-lang-csharp|
|
||
40. lang#d......................................|SpaceVim-layers-lang-d|
|
||
41. lang#dart................................|SpaceVim-layers-lang-dart|
|
||
42. lang#dockerfile....................|SpaceVim-layers-lang-dockerfile|
|
||
43. lang#e......................................|SpaceVim-layers-lang-e|
|
||
44. lang#eiffel............................|SpaceVim-layers-lang-eiffel|
|
||
45. lang#elixir............................|SpaceVim-layers-lang-elixir|
|
||
46. lang#elm..................................|SpaceVim-layers-lang-elm|
|
||
47. lang#erlang............................|SpaceVim-layers-lang-erlang|
|
||
48. lang#extra..............................|SpaceVim-layers-lang-extra|
|
||
49. lang#fennel............................|SpaceVim-layers-lang-fennel|
|
||
50. lang#forth..............................|SpaceVim-layers-lang-forth|
|
||
51. lang#fortran..........................|SpaceVim-layers-lang-fortran|
|
||
52. lang#foxpro............................|SpaceVim-layers-lang-foxpro|
|
||
53. lang#fsharp............................|SpaceVim-layers-lang-fsharp|
|
||
54. lang#go....................................|SpaceVim-layers-lang-go|
|
||
55. lang#goby................................|SpaceVim-layers-lang-goby|
|
||
56. lang#gosu................................|SpaceVim-layers-lang-gosu|
|
||
57. lang#graphql..........................|SpaceVim-layers-lang-graphql|
|
||
58. lang#groovy............................|SpaceVim-layers-lang-groovy|
|
||
59. lang#hack................................|SpaceVim-layers-lang-hack|
|
||
60. lang#haskell..........................|SpaceVim-layers-lang-haskell|
|
||
61. lang#haxe................................|SpaceVim-layers-lang-haxe|
|
||
62. lang#html................................|SpaceVim-layers-lang-html|
|
||
63. lang#hy....................................|SpaceVim-layers-lang-hy|
|
||
64. lang#idris..............................|SpaceVim-layers-lang-idris|
|
||
65. lang#io....................................|SpaceVim-layers-lang-io|
|
||
66. lang#j......................................|SpaceVim-layers-lang-j|
|
||
67. lang#janet..............................|SpaceVim-layers-lang-janet|
|
||
68. lang#java................................|SpaceVim-layers-lang-java|
|
||
69. lang#javascript....................|SpaceVim-layers-lang-javascript|
|
||
70. lang#jr....................................|SpaceVim-layers-lang-jr|
|
||
71. lang#json................................|SpaceVim-layers-lang-json|
|
||
72. lang#jsonnet..........................|SpaceVim-layers-lang-jsonnet|
|
||
73. lang#julia..............................|SpaceVim-layers-lang-julia|
|
||
74. lang#kotlin............................|SpaceVim-layers-lang-kotlin|
|
||
75. lang#lasso..............................|SpaceVim-layers-lang-lasso|
|
||
76. lang#latex..............................|SpaceVim-layers-lang-latex|
|
||
77. lang#liquid............................|SpaceVim-layers-lang-liquid|
|
||
78. lang#lisp................................|SpaceVim-layers-lang-lisp|
|
||
79. lang#livescript....................|SpaceVim-layers-lang-livescript|
|
||
80. lang#lua..................................|SpaceVim-layers-lang-lua|
|
||
81. lang#markdown........................|SpaceVim-layers-lang-markdown|
|
||
82. lang#moonscript....................|SpaceVim-layers-lang-moonscript|
|
||
83. lang#nim..................................|SpaceVim-layers-lang-nim|
|
||
84. lang#nix..................................|SpaceVim-layers-lang-nix|
|
||
85. lang#ocaml..............................|SpaceVim-layers-lang-ocaml|
|
||
86. lang#octave............................|SpaceVim-layers-lang-octave|
|
||
87. lang#pact................................|SpaceVim-layers-lang-pact|
|
||
88. lang#pascal............................|SpaceVim-layers-lang-pascal|
|
||
89. lang#perl................................|SpaceVim-layers-lang-perl|
|
||
90. lang#php..................................|SpaceVim-layers-lang-php|
|
||
91. lang#plantuml........................|SpaceVim-layers-lang-plantuml|
|
||
92. lang#pony................................|SpaceVim-layers-lang-pony|
|
||
93. lang#postscript....................|SpaceVim-layers-lang-postscript|
|
||
94. lang#processing....................|SpaceVim-layers-lang-processing|
|
||
95. lang#prolog............................|SpaceVim-layers-lang-prolog|
|
||
96. lang#puppet............................|SpaceVim-layers-lang-puppet|
|
||
97. lang#purescript....................|SpaceVim-layers-lang-purescript|
|
||
98. lang#python............................|SpaceVim-layers-lang-python|
|
||
99. lang#r......................................|SpaceVim-layers-lang-r|
|
||
100. lang#racket...........................|SpaceVim-layers-lang-racket|
|
||
101. lang#racket..............................|SpaceVim-layers-lang-red|
|
||
102. lang#reason...........................|SpaceVim-layers-lang-reason|
|
||
103. lang#ring...............................|SpaceVim-layers-lang-ring|
|
||
104. lang#ruby...............................|SpaceVim-layers-lang-ruby|
|
||
105. lang#rust...............................|SpaceVim-layers-lang-rust|
|
||
106. lang#scala.............................|SpaceVim-layers-lang-scala|
|
||
107. lang#scheme...........................|SpaceVim-layers-lang-scheme|
|
||
108. lang#sh...................................|SpaceVim-layers-lang-sh|
|
||
109. lang#smalltalk.....................|SpaceVim-layers-lang-smalltalk|
|
||
110. lang#sml.................................|SpaceVim-layers-lang-sml|
|
||
111. lang#swift.............................|SpaceVim-layers-lang-swift|
|
||
112. lang#swig...............................|SpaceVim-layers-lang-swig|
|
||
113. lang#tcl.................................|SpaceVim-layers-lang-tcl|
|
||
114. lang#teal...............................|SpaceVim-layers-lang-teal|
|
||
115. lang#toml...............................|SpaceVim-layers-lang-toml|
|
||
116. lang#typescript...................|SpaceVim-layers-lang-typescript|
|
||
117. lang#v.....................................|SpaceVim-layers-lang-v|
|
||
118. lang#vala...............................|SpaceVim-layers-lang-vala|
|
||
119. lang#vbnet.............................|SpaceVim-layers-lang-vbnet|
|
||
120. lang#verilog.........................|SpaceVim-layers-lang-verilog|
|
||
121. lang#vim.................................|SpaceVim-layers-lang-vim|
|
||
122. lang#vue.................................|SpaceVim-layers-lang-vue|
|
||
123. lang#wdl.................................|SpaceVim-layers-lang-wdl|
|
||
124. lang#wolfram.........................|SpaceVim-layers-lang-wolfram|
|
||
125. lang#xml.................................|SpaceVim-layers-lang-xml|
|
||
126. lang#xquery...........................|SpaceVim-layers-lang-xquery|
|
||
127. lang#yang...............................|SpaceVim-layers-lang-yang|
|
||
128. lang#zig.................................|SpaceVim-layers-lang-zig|
|
||
129. language server protocol......................|SpaceVim-layers-lsp|
|
||
130. leaderf...................................|SpaceVim-layers-leaderf|
|
||
131. mail.........................................|SpaceVim-layers-mail|
|
||
132. operator.................................|SpaceVim-layers-operator|
|
||
133. shell.......................................|SpaceVim-layers-shell|
|
||
134. ssh...........................................|SpaceVim-layers-ssh|
|
||
135. telescope...............................|SpaceVim-layers-telescope|
|
||
136. test.........................................|SpaceVim-layers-test|
|
||
137. tmux.........................................|SpaceVim-layers-tmux|
|
||
138. tools#dash.............................|SpaceVim-layers-tools-dash|
|
||
139. tools#mpv...............................|SpaceVim-layers-tools-mpv|
|
||
140. tools#screensaver...............|SpaceVim-layers-tools-screensaver|
|
||
141. tools#zeal.............................|SpaceVim-layers-tools-zeal|
|
||
142. treesitter.............................|SpaceVim-layers-treesitter|
|
||
143. ui.............................................|SpaceVim-layers-ui|
|
||
144. unite.......................................|SpaceVim-layers-unite|
|
||
145. xmake.......................................|SpaceVim-layers-xmake|
|
||
7. Usage....................................................|SpaceVim-usage|
|
||
1. alternate file........................|SpaceVim-usage-alternate-file|
|
||
2. buffers-and-files..................|SpaceVim-usage-buffers-and-files|
|
||
3. command-line-mode..................|SpaceVim-usage-command-line-mode|
|
||
4. custom_plugins........................|SpaceVim-usage-custom_plugins|
|
||
5. repl............................................|SpaceVim-usage-repl|
|
||
6. search-and-replace................|SpaceVim-usage-search-and-replace|
|
||
7. tasks..........................................|SpaceVim-usage-tasks|
|
||
8. undo-tree...................................|SpaceVim-usage-undotree|
|
||
9. windows-and-tabs....................|SpaceVim-usage-windows-and-tabs|
|
||
8. Plugins................................................|SpaceVim-plugins|
|
||
1. autosave..................................|SpaceVim-plugins-autosave|
|
||
2. iedit........................................|SpaceVim-plugins-iedit|
|
||
3. runner......................................|SpaceVim-plugins-runner|
|
||
4. tab manager.............................|SpaceVim-plugins-tabmanager|
|
||
5. todo manager...........................|SpaceVim-plugins-todomanager|
|
||
9. API........................................................|SpaceVim-api|
|
||
1. clock............................................|SpaceVim-api-clock|
|
||
2. cmdlinemenu................................|SpaceVim-api-cmdlinemenu|
|
||
3. data#dict....................................|SpaceVim-api-data-dict|
|
||
4. data#list....................................|SpaceVim-api-data-list|
|
||
5. data#number................................|SpaceVim-api-data-number|
|
||
6. data#string................................|SpaceVim-api-data-string|
|
||
7. file..............................................|SpaceVim-api-file|
|
||
8. job................................................|SpaceVim-api-job|
|
||
9. logger..........................................|SpaceVim-api-logger|
|
||
10. notify.........................................|SpaceVim-api-notify|
|
||
11. password.....................................|SpaceVim-api-password|
|
||
12. prompt.........................................|SpaceVim-api-prompt|
|
||
13. sid...........................................|SpaceVim-api-vim-sid|
|
||
14. system.........................................|SpaceVim-api-system|
|
||
15. time.............................................|SpaceVim-api-time|
|
||
16. unicode#box...............................|SpaceVim-api-unicode-box|
|
||
17. vim#buffer.................................|SpaceVim-api-vim-buffer|
|
||
18. vim#command...............................|SpaceVim-api-vim-command|
|
||
19. vim#compatible.........................|SpaceVim-api-vim-compatible|
|
||
20. vim#message...............................|SpaceVim-api-vim-message|
|
||
21. vim#window.................................|SpaceVim-api-vim-window|
|
||
10. Development...............................................|SpaceVim-dev|
|
||
1. commit-style-guide..................|SpaceVim-dev-commit-style-guide|
|
||
11. FAQ.......................................................|SpaceVim-faq|
|
||
12. 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. If you
|
||
are using neovim, you can also set this option to `nvim-cmp`, then nvim-cmp
|
||
will be used.
|
||
|
||
==============================================================================
|
||
AUTOCOMPLETE_PARENS *SpaceVim-options-autocomplete_parens*
|
||
|
||
Enable/Disable autocompletion of parentheses, default is true (enabled).
|
||
>
|
||
autocomplete_parens = false
|
||
<
|
||
|
||
==============================================================================
|
||
BOOTSTRAP_AFTER *SpaceVim-options-bootstrap_after*
|
||
|
||
set the bootstrap_after function, this function will be called on `VimEnter`
|
||
event.
|
||
>
|
||
[options]
|
||
bootstrap_after = 'myspacevim#after'
|
||
<
|
||
|
||
==============================================================================
|
||
BOOTSTRAP_BEFORE *SpaceVim-options-bootstrap_before*
|
||
|
||
set the bootstrap_before function, this function will be called when loading
|
||
custom configuration file. for example:
|
||
>
|
||
[options]
|
||
bootstrap_before = 'myspacevim#before'
|
||
<
|
||
|
||
==============================================================================
|
||
BOOTSTRAP_SCRIPT *SpaceVim-options-bootstrap_script*
|
||
|
||
set the bootstrap_script string, this string will be called via `nvim_exec`,
|
||
that means this option only can be used in neovim.
|
||
>
|
||
[options]
|
||
bootstrap_script = '''
|
||
let g:foo_test = 1
|
||
let g:zff_test = 1
|
||
'''
|
||
<
|
||
|
||
==============================================================================
|
||
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
|
||
<
|
||
|
||
==============================================================================
|
||
CODE_RUNNER_FOCUS *SpaceVim-options-code_runner_focus*
|
||
|
||
enable/disable code runner window focus mode, by default this option is
|
||
`false`, to enable this mode, set this option to `true`.
|
||
>
|
||
code_runner_focus = 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'.
|
||
|
||
==============================================================================
|
||
COMMANDLINE_PROMPT *SpaceVim-options-commandline_prompt*
|
||
|
||
Config the command line prompt for flygrep and denite etc. Default is `>`, for
|
||
example:
|
||
>
|
||
commandline_prompt = '➭'
|
||
<
|
||
|
||
==============================================================================
|
||
DATA_DIR *SpaceVim-options-data_dir*
|
||
|
||
Set the cache directory of SpaceVim. Default is `$XDG_CACHE_HOME` or if not
|
||
set `~/.cache¸.
|
||
>
|
||
data_dir = "~/.cache"
|
||
<
|
||
|
||
==============================================================================
|
||
DEFAULT_CUSTOM_LEADER *SpaceVim-options-default_custom_leader*
|
||
|
||
Change the default custom leader of SpaceVim. Default is <Space>.
|
||
>
|
||
default_custom_leader = "<Space>"
|
||
<
|
||
|
||
==============================================================================
|
||
DEFAULT_INDENT *SpaceVim-options-default_indent*
|
||
|
||
Change the default indentation of SpaceVim. Default is 2.
|
||
>
|
||
default_indent = 2
|
||
<
|
||
|
||
==============================================================================
|
||
DISABLED_PLUGINS *SpaceVim-options-disabled_plugins*
|
||
|
||
|
||
>
|
||
disabled_plugins = ['vim-foo', 'vim-bar']
|
||
<
|
||
|
||
==============================================================================
|
||
ENABLE_BEPO_LAYOUT *SpaceVim-options-enable_bepo_layout*
|
||
|
||
Enable/Disable bepo layout, by default it is disabled.
|
||
>
|
||
enable_bepo_layout = true
|
||
<
|
||
|
||
==============================================================================
|
||
ENABLE_CURSORCOLUMN *SpaceVim-options-enable_cursorcolumn*
|
||
|
||
Enable/Disable cursorcolumn. Default is 0, cursorcolumn will be highlighted in
|
||
normal mode. To enable this feature:
|
||
>
|
||
enable_cursorcolumn = 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_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_LIST_MODE *SpaceVim-options-enable_list_mode*
|
||
|
||
Enable/Disable list mode, by default it is disabled.
|
||
|
||
==============================================================================
|
||
ENABLE_PROJECTS_CACHE *SpaceVim-options-enable_projects_cache*
|
||
|
||
Enable/Disable cross session projects cache. Enabled by default.
|
||
|
||
==============================================================================
|
||
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 = "+"
|
||
<
|
||
|
||
==============================================================================
|
||
ESCAPE_KEY_BINDING *SpaceVim-options-escape_key_binding*
|
||
|
||
Set the key binding for switch to normal mode in insert mode. Default is `jk`,
|
||
to disable this key binding, set this option to empty string.
|
||
>
|
||
escape_key_binding = 'jk'
|
||
<
|
||
|
||
==============================================================================
|
||
EXPAND_TAB *SpaceVim-options-expand_tab*
|
||
|
||
In Insert mode: Use the appropriate number of spaces to insert a <Tab>
|
||
|
||
==============================================================================
|
||
FILE_SEARCHING_TOOLS *SpaceVim-options-file_searching_tools*
|
||
|
||
Set the default file searching tool used by `SPC f /`, by default it is `[]`.
|
||
The first item in this list is the name of the tool, the second one is the
|
||
default command. for example:
|
||
>
|
||
file_searching_tools = ['find', 'find -not -iwholename "*.git*" ']
|
||
<
|
||
|
||
==============================================================================
|
||
FILEMANAGER *SpaceVim-options-filemanager*
|
||
|
||
The default file manager of SpaceVim. Default is 'nerdtree'. you can also use
|
||
defx or vimfiler
|
||
|
||
==============================================================================
|
||
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_ENGINE *SpaceVim-options-lint_engine*
|
||
|
||
Set the lint engine used in checkers layer, the default engine is neomake, if
|
||
you want to use ale, use:
|
||
>
|
||
lint_engine = 'ale'
|
||
<
|
||
NOTE: the `enable_neomake` and `enable_ale` option has been deprecated.
|
||
*spacevim-options-enable_naomake* *spacevim-options-enable_ale*
|
||
|
||
==============================================================================
|
||
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
|
||
<
|
||
NOTE: the `lint_on_the_fly` option has been deprecated. Please use layer
|
||
option of |SpaceVim-layers-checkers| layer.
|
||
|
||
==============================================================================
|
||
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 `$data_dir/vimfiles`.
|
||
>
|
||
plugin_bundle_dir = "~/.cache/vimplugs"
|
||
<
|
||
|
||
==============================================================================
|
||
PLUGIN_MANAGER_PROCESSES *SpaceVim-options-plugin_manager_processes*
|
||
|
||
Set the max process of SpaceVim plugin manager
|
||
|
||
==============================================================================
|
||
PROJECT_AUTO_ROOT *SpaceVim-options-project_auto_root*
|
||
|
||
Enable/Disable project root detection. By default, SpaceVim will change the
|
||
directory to the project root directory based on `project_rooter_patterns`
|
||
option. To disable this feature:
|
||
>
|
||
[options]
|
||
project_auto_root = false
|
||
<
|
||
NOTE: *g:spacevim_project_rooter_automatically* and
|
||
*SpaceVim-options-project_rooter_automatically* are deprecated.
|
||
|
||
==============================================================================
|
||
PROJECT_NON_ROOT *SpaceVim-options-project_non_root*
|
||
|
||
This option set the default behavior for non-project files.
|
||
`current`: change to file's dir, like `autochdir`
|
||
`''`: do not change directory
|
||
`home`: change to home directory
|
||
|
||
==============================================================================
|
||
PROJECT_ROOTER_OUTERMOST *SpaceVim-options-project_rooter_outermost*
|
||
|
||
Enable/Disable finding outermost directory for project root detection. By
|
||
default SpaceVim will find the outermost directory based on
|
||
`project_rooter_patterns`. To find nearest directory, you need to disable this
|
||
option:
|
||
>
|
||
[options]
|
||
project_rooter_outermost = false
|
||
<
|
||
|
||
==============================================================================
|
||
PROJECT_ROOTER_PATTERNS *SpaceVim-options-project_rooter_patterns*
|
||
|
||
Set the project root patterns, SpaceVim determines the root directory of the
|
||
project based on this option. By default it is:
|
||
>
|
||
['.git/', '_darcs/', '.hg/', '.bzr/', '.svn/']
|
||
<
|
||
|
||
==============================================================================
|
||
PROJECTS_CACHE_NUM *SpaceVim-options-projects_cache_num*
|
||
|
||
Setting the numbers of cached projects, by default it is 20.
|
||
|
||
==============================================================================
|
||
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
|
||
<
|
||
|
||
==============================================================================
|
||
SEARCH_TOOLS *SpaceVim-options-search_tools*
|
||
|
||
Default search tools supported by flygrep. The default order is ['rg', 'ag',
|
||
'pt', 'ack', 'grep', 'findstr', 'git'] The `git` command means using
|
||
`git-grep`. If you prefer to use `git-grep` by default. You can change this
|
||
option to:
|
||
>
|
||
[options]
|
||
search_tools = ['git', 'rg', 'ag']
|
||
<
|
||
|
||
==============================================================================
|
||
SIDEBAR_WIDTH *SpaceVim-options-sidebar_width*
|
||
|
||
Set the width of the SpaceVim sidebar. Default is 30. This value will be used
|
||
by tagbar and filetree.
|
||
|
||
==============================================================================
|
||
SNIPPET_ENGINE *SpaceVim-options-snippet_engine*
|
||
|
||
Set the snippet engine of SpaceVim, default is neosnippet. to enable
|
||
ultisnips:
|
||
>
|
||
snippet_engine = "ultisnips"
|
||
<
|
||
|
||
==============================================================================
|
||
SRC_ROOT *SpaceVim-options-src_root*
|
||
|
||
set default sources root of all your projects. default is `E:\sources\`.
|
||
>
|
||
src_root = 'E:\sources\'
|
||
<
|
||
|
||
==============================================================================
|
||
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 *SpaceVim-options-statusline_left*
|
||
|
||
Define the left section of statusline in active windows. By default:
|
||
>
|
||
statusline_left = [
|
||
'winnr',
|
||
'filename',
|
||
'major mode',
|
||
'minor mode lighters',
|
||
'version control info'
|
||
]
|
||
<
|
||
`statusline_left_sections` is deprecated, use `statusline_left` instead.
|
||
|
||
==============================================================================
|
||
STATUSLINE_RIGHT *SpaceVim-options-statusline_right*
|
||
|
||
Define the right section of statusline in active windows. By default:
|
||
>
|
||
statusline_right = [
|
||
'fileformat',
|
||
'cursorpos',
|
||
'percentage'
|
||
]
|
||
<
|
||
|
||
The following sections can be used in this option:
|
||
fileformat: the format of current file
|
||
cursorpos: the corsur position
|
||
percentage: the percent of current page
|
||
totallines: the total lines of current buffer
|
||
|
||
`statusline_right_sections` is deprecated, use `statusline_right` instead.
|
||
|
||
==============================================================================
|
||
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
|
||
|
||
|
||
==============================================================================
|
||
STATUSLINE_UNICODE *SpaceVim-options-statusline_unicode*
|
||
|
||
Enable/Disable unicode symbols in statusline, includes the mode icons and
|
||
fileformat icons. This option is enabled by default, to disable it:
|
||
>
|
||
statusline_unicode = false
|
||
<
|
||
|
||
==============================================================================
|
||
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'
|
||
<
|
||
|
||
==============================================================================
|
||
TODO_LABELS *SpaceVim-options-todo_labels*
|
||
|
||
Option for setting todo labels in current project.
|
||
|
||
==============================================================================
|
||
TODO_PREFIX *SpaceVim-options-todo_prefix*
|
||
|
||
Option for setting todo prefix in current project. The default is `@`
|
||
|
||
==============================================================================
|
||
VIM_HELP_LANGUAGE *SpaceVim-options-vim_help_language*
|
||
|
||
Set the help language of vim. Default is 'en'. You can change it to Chinese.
|
||
>
|
||
vim_help_language = "cn"
|
||
<
|
||
|
||
==============================================================================
|
||
VIMCOMPATIBLE *SpaceVim-options-vimcompatible*
|
||
|
||
Enable/Disable vimcompatible mode, by default it is false. to enable
|
||
vimcompatible mode, just add:
|
||
>
|
||
vimcompatible = true
|
||
<
|
||
In vimcompatible mode all vim origin key bindings will not be changed.
|
||
|
||
Includes:
|
||
>
|
||
q smart quit windows
|
||
s windows key bindings leader
|
||
, language specific leader
|
||
<C-a> move cursor to beginning in command line mode
|
||
<C-b> move cursor to left in command line mode
|
||
<C-f> move cursor to right in command line mode
|
||
<C-x> switch buffer
|
||
<
|
||
|
||
==============================================================================
|
||
WARNING_SYMBOL *SpaceVim-options-warning_symbol*
|
||
|
||
Set the warning symbol for SpaceVim's syntax maker. Default is '⚠'.
|
||
>
|
||
warning_symbol = '!'
|
||
<
|
||
|
||
==============================================================================
|
||
WILDIGNORE *SpaceVim-options-wildignore*
|
||
|
||
A list of file patterns when file match it will be ignored.
|
||
>
|
||
wildignore = '*/tmp/*,*.so,*.swp,*.zip,*.class,tags,*.jpg,*.ttf,*.TTF,*.png
|
||
,*/target/*,.git,.svn,.hg,.DS_Store,*.svg'
|
||
<
|
||
|
||
==============================================================================
|
||
WINDISK_ENCODING *SpaceVim-options-windisk_encoding*
|
||
|
||
Setting the encoding of windisk info. by default it is `cp936`.
|
||
>
|
||
windisk_encoding = 'cp936'
|
||
<
|
||
|
||
==============================================================================
|
||
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 = ""
|
||
<
|
||
|
||
==============================================================================
|
||
WINDOWS_SMARTCLOSE *SpaceVim-options-windows_smartclose*
|
||
|
||
Set the default key for smart close windows, default is `q`. to disable this
|
||
feature, just set it to empty string:
|
||
>
|
||
windows_smartclose = ""
|
||
<
|
||
|
||
==============================================================================
|
||
CONFIGURATION *SpaceVim-config*
|
||
|
||
If you still want to use `~/.SpaceVim.d/init.vim` as configuration file,
|
||
please take a look at the following options add |SpaceVim-functions|
|
||
|
||
*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_enable_list_mode*
|
||
Enable/Disable list mode, by default it is disabled.
|
||
|
||
*g:spacevim_relativenumber*
|
||
Enable/Disable relativenumber in current windows, by default it is enabled.
|
||
|
||
*g:spacevim_wrap_line*
|
||
Enable/Disable line wrap of vim
|
||
|
||
*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_default_custom_leader*
|
||
Change the default custom leader of SpaceVim. Default is <Space>.
|
||
>
|
||
let g:spacevim_default_custom_leader = '<Space>'
|
||
<
|
||
|
||
*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_code_runner_focus*
|
||
enable/disable code runner window focus mode, by default this option is 0, to
|
||
enable this mode, set this option to 1.
|
||
|
||
*g:spacevim_enable_guicolors*
|
||
Enable true color support in terminal. Default is 0.
|
||
>
|
||
let g:spacevim_enable_guicolors = 1
|
||
<
|
||
|
||
*g:spacevim_escape_key_binding*
|
||
Set the key binding for switch to normal mode in insert mode. Default is `jk`,
|
||
to disable this key binding, set this option to empty string.
|
||
>
|
||
let g:spacevim_escape_key_binding = 'jk'
|
||
<
|
||
|
||
*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_data_dir*
|
||
Set the cache directory of SpaceVim. Default is `$XDG_CACHE_HOME` or if not
|
||
set `~/.cache¸.
|
||
>
|
||
let g:spacevim_data_dir = '~/.cache'
|
||
<
|
||
|
||
*g:spacevim_plugin_bundle_dir*
|
||
Set the cache directory of plugins. Default is `$data_dir/vimfiles`.
|
||
>
|
||
let g:spacevim_plugin_bundle_dir = g:spacevim_data_dir.'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_lint_engine*
|
||
Set the lint engine used in checkers layer, the default engine is neomake, if
|
||
you want to use ale, use:
|
||
>
|
||
let g:spacevim_lint_engine = 'ale'
|
||
<
|
||
|
||
*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 filetree.
|
||
|
||
*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*
|
||
Define the left section of statusline in active windows. By default:
|
||
>
|
||
let g:spacevim_statusline_left =
|
||
\ [
|
||
\ 'winnr',
|
||
\ 'filename',
|
||
\ 'major mode',
|
||
\ 'minor mode lighters',
|
||
\ 'version control info'
|
||
\ ]
|
||
<
|
||
`g:spacevim_statusline_left_sections` is deprecated, use
|
||
`g:spacevim_statusline_left` instead.
|
||
|
||
*g:spacevim_statusline_right*
|
||
Define the right section of statusline in active windows. By default:
|
||
>
|
||
g:spacevim_statusline_right =
|
||
\ [
|
||
\ 'fileformat',
|
||
\ 'cursorpos',
|
||
\ 'percentage'
|
||
\ ]
|
||
<
|
||
|
||
`g:spacevim_statusline_right_sections` is deprecated, use
|
||
`g:spacevim_statusline_right` instead.
|
||
|
||
*g:spacevim_statusline_unicode*
|
||
Enable/Disable unicode symbols in statusline, includes the mode icons and
|
||
fileformat icons. This option is enabled by default, to disable it:
|
||
>
|
||
let g:spacevim_statusline_unicode = 0
|
||
<
|
||
|
||
*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_filemanager*
|
||
The default file manager of SpaceVim. Default is 'nerdtree'. you can also use
|
||
defx or vimfiler
|
||
|
||
*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 false. to enable
|
||
vimcompatible mode, just add:
|
||
>
|
||
let g:spacevim_vimcompatible = 1
|
||
<
|
||
In vimcompatible mode all vim origin key bindings will not be changed.
|
||
|
||
Includes:
|
||
>
|
||
q smart quit windows
|
||
s windows key bindings leader
|
||
, language specific leader
|
||
<C-a> move cursor to beginning in command line mode
|
||
<C-b> move cursor to left in command line mode
|
||
<C-f> move cursor to right in command line mode
|
||
<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
|
||
<
|
||
NOTE: the `lint_on_save` option has been deprecated. Please use layer option
|
||
of |SpaceVim-layers-checkers| layer.
|
||
|
||
*g:spacevim_search_tools*
|
||
Default search tools supported by flygrep. The default order is ['rg', 'ag',
|
||
'pt', 'ack', 'grep', 'findstr', 'git']
|
||
|
||
*g:spacevim_project_rooter_patterns*
|
||
Set the project root patterns, SpaceVim determines the root directory of the
|
||
project based on this option. By default it is:
|
||
>
|
||
['.git/', '_darcs/', '.hg/', '.bzr/', '.svn/']
|
||
<
|
||
|
||
*g:spacevim_enable_projects_cache*
|
||
Enable/Disable cross session projects cache. Enabled by default.
|
||
|
||
*g:spacevim_projects_cache_num*
|
||
Setting the numbers of cached projects, by default it is 20.
|
||
|
||
*g:spacevim_project_auto_root*
|
||
Enable/Disable changing directory automatically. Enabled by default.
|
||
|
||
*g:spacevim_project_rooter_outermost*
|
||
Enable/Disable finding outermost directory for project root detection. By
|
||
default SpaceVim will find the outermost directory based on
|
||
`project_rooter_patterns`. To find nearest directory, you need to disable this
|
||
option:
|
||
>
|
||
let g:spacevim_project_rooter_outermost = 0
|
||
<
|
||
|
||
*g:spacevim_commandline_prompt*
|
||
Config the command line prompt for flygrep and denite etc.
|
||
|
||
*g:spacevim_todo_labels*
|
||
Option for setting todo labels in current project.
|
||
|
||
*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_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:github_issues_no_omni*
|
||
jaxbot/github-issues.vim {{{ Disable completion by github-issues.vim. Because
|
||
github-complete.vim provides more powerful completion.
|
||
|
||
*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.
|
||
|
||
:OpenProject *:OpenProject*
|
||
Open specific project in |SpaceVim-options-src_root|
|
||
|
||
:A[!] {type} *:A*
|
||
Switch to alternate file based on {type}.
|
||
|
||
==============================================================================
|
||
PUBLIC FUNCTIONS *SpaceVim-functions*
|
||
|
||
All of these functions can be used in `~/.SpaceVim.d/init.vim` and bootstrap
|
||
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#api#register({name}, {api}) *SpaceVim#api#register()*
|
||
Register new {api} named {name}, 1 will be returned if succeed. for all
|
||
available APIs please check |spacevim-api|
|
||
|
||
Example:
|
||
>
|
||
let s:hello = {}
|
||
function! s:hello.say(who)
|
||
echo 'hello! ' . a:who
|
||
endfunction
|
||
call SpaceVim#api#register('hello', s:hello)
|
||
|
||
" after registering api, you can use this api
|
||
" in other vim scripts like this:
|
||
let s:H = SpaceVim#api#import('hello')
|
||
call s:H.say('wsdjeg')
|
||
<
|
||
|
||
SpaceVim#custom#SPC({m}, {keys}, {cmd}, {desc}, {is_cmd})
|
||
*SpaceVim#custom#SPC()*
|
||
The first parameter sets the type of shortcut key, which can be `nnoremap`
|
||
or `nmap`, the second parameter is a list of keys, and the third parameter
|
||
is an ex command or key binding, depending on whether the last parameter is
|
||
true. The fourth parameter is a short description of this custom key
|
||
binding.
|
||
|
||
SpaceVim#custom#SPCGroupName({keys}, {name}) *SpaceVim#custom#SPCGroupName()*
|
||
Set the group name of custom SPC key bindings.
|
||
|
||
SpaceVim#custom#leader({type}, {key}, {value}) *SpaceVim#custom#leader()*
|
||
function for adding custom leader key bindings
|
||
|
||
SpaceVim#custom#LeaderGroupName({keys}, {name})
|
||
*SpaceVim#custom#LeaderGroupName()*
|
||
Set the group name of custom Leader key bindings.
|
||
|
||
SpaceVim#custom#LangSPC({ft}, {m}, {keys}, {cmd}, {desc}, {is_cmd})
|
||
*SpaceVim#custom#LangSPC()*
|
||
This function offers user a way to add custom language specific key
|
||
bindings.
|
||
|
||
SpaceVim#custom#LangSPCGroupName({ft}, {keys}, {name})
|
||
*SpaceVim#custom#LangSPCGroupName()*
|
||
Set the group name of custom language specific key bindings.
|
||
|
||
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. For example:
|
||
>
|
||
call SpaceVim#layers#load('autocomplete',
|
||
\ {
|
||
\ 'auto_completion_delay' : 50,
|
||
\ }
|
||
\ )
|
||
<
|
||
|
||
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([options], [firstline], [lastline])
|
||
*SpaceVim#plugins#iedit#start()*
|
||
This is public function to evoke iedit with [options]. The default
|
||
[firstline] is 1, and the default [lastline] is `line('$')`. The following
|
||
key are supported in [options]:
|
||
>
|
||
KEY:
|
||
expr match expression
|
||
word match word
|
||
stack cursor pos stack
|
||
selectall boolean
|
||
<
|
||
if only argv 1 is given, use selected word as pattern
|
||
|
||
==============================================================================
|
||
LAYERS *SpaceVim-layers*
|
||
|
||
Layers help collecting related packages together to provides features. This
|
||
approach helps keep configuration organized and reduces overhead for the user
|
||
by keeping them from having to think about what packages to install.
|
||
|
||
ENABLE LAYERS
|
||
|
||
By default SpaceVim enables these layers:
|
||
|
||
1. `autocomplete`
|
||
2. `checkers`
|
||
3. `format`
|
||
4. `edit`
|
||
5. `ui`
|
||
5. `core`
|
||
6. `core#banner`
|
||
7. `core#statusline`
|
||
8. `core#tabline`
|
||
|
||
To enable a specific layer you need to edit SpaceVim's custom configuration
|
||
files. The key binding for opening the configuration files.s `SPC f v d`.
|
||
|
||
The following example shows how to load `shell` layer with some specified
|
||
options:
|
||
>
|
||
[[layers]]
|
||
name = 'shell'
|
||
default_position = 'top'
|
||
default_height = 30
|
||
<
|
||
|
||
DISABLE LAYERS
|
||
|
||
Some layers are enabled by default. The following example shows how to disable
|
||
`shell` layer:
|
||
>
|
||
[[layers]]
|
||
name = 'shell'
|
||
enable = false
|
||
<
|
||
|
||
==============================================================================
|
||
CHINESE *SpaceVim-layers-chinese*
|
||
|
||
`chinese` layer provides Chinese specific function for SpaceVim. This layer is
|
||
not loaded by default, to use this layer, add following snippet into your
|
||
SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'chinese'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Key binding Description
|
||
SPC l c check with ChineseLinter
|
||
SPC x g t translate current word
|
||
SPC n c d convert chinese number to digit
|
||
<
|
||
|
||
|
||
==============================================================================
|
||
VERSIONCONTROL *SpaceVim-layers-VersionControl*
|
||
|
||
This layer provides version control system (VCS) integration for SpaceVim.
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Key binding Description
|
||
SPC t m v toggle version control info
|
||
SPC t m h toggle hunks summary
|
||
SPC g . version control transient state
|
||
<
|
||
|
||
==============================================================================
|
||
AUTOCOMPLETE *SpaceVim-layers-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.
|
||
|
||
==============================================================================
|
||
CHAT *SpaceVim-layers-chat*
|
||
|
||
The `chat` layer provides basic function to connected to chat server.
|
||
|
||
LAYER OPTIONS
|
||
|
||
1. `chat_port`: set the port of chat server
|
||
2. `chat_address`: set the ip of chat server
|
||
3. `chat_client_jar`: set the path of client jar
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Key Bingding Description
|
||
SPC a h open chat window
|
||
<
|
||
|
||
==============================================================================
|
||
CHECKERS *SpaceVim-layers-checkers*
|
||
|
||
The `checkers` layer provides syntax lint feature. The default lint engine is
|
||
|neomake|, this can be changed by `lint_engine` option:
|
||
>
|
||
[options]
|
||
lint_engine = 'ale'
|
||
<
|
||
|
||
OPTIONS
|
||
|
||
`lint_on_the_fly`: Syntax checking on the fly feature, disabled by default.
|
||
`lint_on_save`: Run syntax checking when saving a file.
|
||
`show_cursor_error`: Enable/Disable displaying error below current line.
|
||
`lint_exclude_filetype`: Set the filetypes which does not enable syntax
|
||
checking.
|
||
`open_error_list`: Open the language checking windows. when set to 0, the
|
||
windows will not be opened automatically. Defaults to 2.
|
||
|
||
==============================================================================
|
||
COLORSCHEME *SpaceVim-layers-colorscheme*
|
||
|
||
The default colorscheme of SpaceVim is gruvbox. It can be changed via
|
||
`colorscheme` option by adding the following code to |SpaceVim-options| file:
|
||
>
|
||
<
|
||
[options] 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.
|
||
>
|
||
| Name | dark | light | term | gui | statusline |
|
||
| ------------ | ---- | ----- | ---- | --- | ---------- |
|
||
| molokai | yes | no | yes | yes | yes |
|
||
| srcery | yes | no | yes | yes | yes |
|
||
| onedark | yes | no | yes | yes | yes |
|
||
| jellybeans | yes | no | yes | yes | yes |
|
||
| palenight | yes | no | yes | yes | yes |
|
||
| one | yes | yes | yes | yes | yes |
|
||
| nord | yes | no | yes | yes | yes |
|
||
| gruvbox | yes | yes | yes | yes | yes |
|
||
| NeoSolarized | yes | yes | yes | yes | yes |
|
||
| hybrid | yes | yes | yes | yes | yes |
|
||
| material | yes | yes | yes | yes | yes |
|
||
| dracula | yes | yes | yes | yes | yes |
|
||
| SpaceVim | yes | yes | yes | yes | yes |
|
||
<
|
||
Also, there's one thing which everyone should know and pay attention to. NOT
|
||
all of above 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 *SpaceVim-layers-core*
|
||
|
||
The `core` layer of SpaceVim. This layer is enabled by default, and it
|
||
provides filetree, comment key bindings etc.
|
||
|
||
OPTIONS
|
||
`filetree_show_hidden`: option for showing hidden file in filetree, disabled
|
||
by default.
|
||
`enable_smooth_scrolling`: enable/disabled smooth scrolling key bindings,
|
||
enabled by default.
|
||
`enable_filetree_gitstatus`: enable/disable git status column in filetree.
|
||
`enable_filetree_filetypeicon`: enable/disable filetype icons in filetree.
|
||
`enable_netrw`: enable/disable netrw, disabled by default.
|
||
|
||
NOTE: the `enable_vimfiler_gitstatus` and `enable_filetree_gitstatus` option
|
||
has been deprecated. Use layer option instead.
|
||
*spacevim-options-enable_vimfiler_gitstatus*
|
||
*spacevim-options-enable_filetree_gitstatus*
|
||
*g:spacevim_enable_vimfiler_gitstatus* *g:spacevim_enable_filetree_gitstatus*
|
||
*g:spacevim_enable_vimfiler_filetypeicon*
|
||
|
||
==============================================================================
|
||
CORE#STATUSLINE *SpaceVim-layers-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-layers-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
|
||
<
|
||
LAYER OPTIONS
|
||
|
||
1. `enable_default_mappings`: Enable/disable default key bindings. This is
|
||
enabled by default.
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Key binding Description
|
||
Ctrl-Shift-Right Move current tabpage to the right
|
||
Ctrl-Shift-Left Move current tabpage to the left
|
||
<
|
||
|
||
==============================================================================
|
||
CSCOPE *SpaceVim-layers-cscope*
|
||
|
||
`cscope` layer provides |cscope| integration for SpaceVim. To load this layer:
|
||
>
|
||
[[layers]]
|
||
name = 'cscope'
|
||
<
|
||
LAYER OPTIONS
|
||
|
||
The layer option can be used when loading the `cscope` layer, for example:
|
||
>
|
||
[[layers]]
|
||
name = 'cscope'
|
||
auto_update = true
|
||
open_quickfix = 0
|
||
<
|
||
1. `auto_update`: Enable or disable automatic updating of the cscope
|
||
database.
|
||
2. `cscope_command`: set the command or path of `cscope` executable.
|
||
3. `open_location`: enable/disable open location list after searching.
|
||
4. `preload_path`: set the proload paths.
|
||
5. `list_files_command`: set the command to list all files which should be
|
||
involed to create cscope database, By default it is:
|
||
|
||
`['rg', '--color=never', '--files']`
|
||
|
||
To specific filetypes, use custom command, for example:
|
||
>
|
||
[[layers]]
|
||
name = 'cscope'
|
||
list_files_command = ['rg', '--color=never', '--files', '--type', 'c']
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
The following key bindings will be added when this layer is loaded.
|
||
>
|
||
Key binding Description
|
||
SPC m c c find functions called by this function
|
||
SPC m c C find functions calling this function
|
||
SPC m c d find global definition of a symbol
|
||
SPC m c r find references of a symbol
|
||
SPC m c f find files
|
||
SPC m c F find files including this file
|
||
SPC m c e find this egrep pattern
|
||
SPC m c t find this text string
|
||
SPC m c = find assignments to this symbol
|
||
SPC m c u create cscope index
|
||
SPC m c i create cscope database
|
||
SPC m c l list cscope database
|
||
SPC m c m remove current cscope database
|
||
SPC m c M remove all cscope database
|
||
<
|
||
|
||
==============================================================================
|
||
CTRLP *SpaceVim-layers-ctrlp*
|
||
|
||
`ctrlp` layer provides fuzzy finder feature which is based on |ctrlp|. This
|
||
layer is not loaded by default, to use this layer, you need to add following
|
||
snippent in your configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'ctrlp'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
The following key bindings will be defined when `ctrlp` layer is loaded:
|
||
>
|
||
Key bindings | Discription
|
||
-------------------- | -----------------------------
|
||
<Leader> f <Space> | Fuzzy find menu:CustomKeyMaps
|
||
<Leader> f e | Fuzzy find register
|
||
<Leader> f h | Fuzzy find history/yank
|
||
<Leader> f j | Fuzzy find jump, change
|
||
<Leader> f l | Fuzzy find location list
|
||
<Leader> f m | Fuzzy find output messages
|
||
<Leader> f o | Fuzzy find outline
|
||
<Leader> f q | Fuzzy find quick fix
|
||
<Leader> f r | Resumes Unite window
|
||
<
|
||
|
||
==============================================================================
|
||
DEBUG *SpaceVim-layers-debug*
|
||
|
||
`debug` layer debug workflow for SpaceVim. All of the functionality is based
|
||
on vebugger or vimspector.
|
||
|
||
LAYER OPTIONS
|
||
|
||
1. `debugger_plugin`: set the debug engine. It can be `vimspector` or
|
||
`vebugger`.
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Key binding Description
|
||
SPC d c launch-or-continue-debugger
|
||
SPC d r restart-debugger-with-the-same-config
|
||
SPC d x run-to-cursor
|
||
SPC d p pause-debugger
|
||
SPC d b toggle-line-breakpoint
|
||
SPC d B clear-all-breakpoints
|
||
SPC d o step-over
|
||
SPC d i step-into-functions
|
||
SPC d O step-out-of-current-function
|
||
SPC d u move-up-a-frame
|
||
SPC d d move-down-a-frame
|
||
SPC d k terminate-the-debugger
|
||
SPC d e evaluate-cursor-symbol-or-selection
|
||
<
|
||
|
||
==============================================================================
|
||
EDIT *SpaceVim-layers-edit*
|
||
|
||
The `edit` layer provides basic feature for editing files. This layer is
|
||
loaded by default. To disable this layer:
|
||
>
|
||
[[layers]]
|
||
name = 'edit'
|
||
enable = false
|
||
<
|
||
CONFIGURATION
|
||
1. `autosave_timeout`: set the timeoutlen of autosave plugin. By default it
|
||
is 0. And autosave is disabled. timeoutlen must be given in millisecods and
|
||
can't be > 100*60*1000 (100 minutes) or < 1000 (1 second). For example, setup
|
||
timer with 5 minutes:
|
||
>
|
||
[[layers]]
|
||
name = 'edit'
|
||
autosave_timeout = 300000
|
||
<
|
||
2. `autosave_events`: set the events on which autosave will perform a save.
|
||
This option is an empty list by default. you can trigger saving based on vim's
|
||
events, for example:
|
||
>
|
||
[[layers]]
|
||
name = 'edit'
|
||
autosave_events = ['InsertLeave', 'TextChanged']
|
||
<
|
||
3. `autosave_all_buffers`: By default autosave plugin only save current
|
||
buffer.
|
||
If you want to save all buffers automatically. Set this option to `true`.
|
||
>
|
||
[[layers]]
|
||
name = 'edit'
|
||
autosave_all_buffers = true
|
||
<
|
||
4. `autosave_location`: set the directory where to save changed files. By
|
||
default it is empty string, that means saving to the original file. If this
|
||
option is not an empty string. files will me saved to that directory
|
||
automatically. and the format is:
|
||
>
|
||
autosave_location/path+=to+=filename.ext.backup
|
||
<
|
||
5. `enable_hop`: by default, spacevim use easymotion plugin. and if you are
|
||
using neovim 0.6.0 or above, hop.nvim will be enabled. You can disabled this
|
||
plugin and still using easymotion.
|
||
|
||
KEY BINDINGS
|
||
|
||
The `edit` layer also provides many key bindings:
|
||
>
|
||
key binding description
|
||
SPC x c count in the selection region
|
||
<
|
||
|
||
The following key binding is to jump to targets. The default plugin is
|
||
`easymotion`, and if you are using neovim 0.6.0 or above. The `hop.nvim` will
|
||
be used.
|
||
>
|
||
key binding description
|
||
SPC j j jump or select a character
|
||
SPC j J jump to suite of two characters
|
||
SPC j l jump or select to a line
|
||
SPC j w jump to a word
|
||
SPC j u jump to a url
|
||
<
|
||
|
||
==============================================================================
|
||
EXPRFOLD *SpaceVim-layers-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
|
||
<
|
||
|
||
==============================================================================
|
||
FOLDSEARCH *SpaceVim-layers-foldsearch*
|
||
|
||
`foldsearch` layer provides key bindings to searching text and fold searching
|
||
results. This layer is not enabled by default, to enable this layer, add
|
||
following code to your configuration file:
|
||
>
|
||
[[layers]]
|
||
name = 'foldsearch'
|
||
<
|
||
KEY BINDINGS
|
||
|
||
The following key bindings will be definded when the `foldsearch` layer is
|
||
loaded.
|
||
>
|
||
Key Binding Description
|
||
SPC F w searching with input word
|
||
SPC F W searching with cursor word
|
||
SPC F p searching with regexp
|
||
SPC F e end foldsearch
|
||
<
|
||
|
||
==============================================================================
|
||
FORMAT *SpaceVim-layers-format*
|
||
|
||
`format` layer provides code formation for SpaceVim, the default formatting
|
||
plugin is `neoformat`, and you can also use `vim-codefmt`.
|
||
|
||
LAYER OPTIONS
|
||
|
||
1. `format_on_save`: disabled by default.
|
||
2. `format_method`: set the format plugin, default plugin is `neoformat`.
|
||
You can also use `vim-codefmt`.
|
||
3. `silent_format`: Runs the formatter without any messages.
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Key binding Description
|
||
SPC b f format current buffer or selection lines
|
||
<
|
||
|
||
|
||
==============================================================================
|
||
FRAMEWORK#DJANGO *SpaceVim-layers-framework-django*
|
||
|
||
The `framework#django` layer provides code completion and syntax highlight for
|
||
django. This layer is not enabled by default, to enable it:
|
||
>
|
||
[[layers]]
|
||
name = 'framework#django'
|
||
<
|
||
|
||
|
||
==============================================================================
|
||
FZF *SpaceVim-layers-fzf*
|
||
|
||
This layer provides fuzzy finder feature which is based on `fzf`. This layer
|
||
is not loaded by default. To use this layer:
|
||
>
|
||
[[layers]]
|
||
name = 'fzf'
|
||
<
|
||
KEY BINDINGS
|
||
|
||
The following key bindings will be enabled when this layer is loaded:
|
||
>
|
||
Key bindings Description
|
||
SPC p f / Ctrl-p search files in current directory
|
||
<Leader> f SPC Fuzzy find menu:CustomKeyMaps
|
||
<Leader> f e Fuzzy find register
|
||
<Leader> f h Fuzzy find history/yank
|
||
<Leader> f j Fuzzy find jump, change
|
||
<Leader> f l Fuzzy find location list
|
||
<Leader> f m Fuzzy find output messages
|
||
<Leader> f o Fuzzy find functions
|
||
<Leader> f t Fuzzy find tags
|
||
<Leader> f q Fuzzy find quick fix
|
||
<Leader> f p Fuzzy find bundle plugins
|
||
<
|
||
|
||
==============================================================================
|
||
GIT *SpaceVim-layers-git*
|
||
|
||
`git` layer provides git integration for SpaceVim.
|
||
|
||
LAYER OPTIONS
|
||
|
||
`git_plugin`: Set the background plugin used in `git` layer. The default value
|
||
is `git`, the following plugins are supported: `gina`, `fugitive` and `gita`.
|
||
>
|
||
[[layers]]
|
||
name = 'git'
|
||
git_plugin = 'git'
|
||
<
|
||
`git_diff_position`: set the default command to split diff windows, by default
|
||
it is `10split`. Example:
|
||
>
|
||
[[layers]]
|
||
name = 'git'
|
||
git_diff_position = 'vsplit'
|
||
<
|
||
KEY BINDINGS
|
||
|
||
The following key bindings will be definded when the `git` layer is loaded.
|
||
>
|
||
Key Binding Description
|
||
SPC g s view git status
|
||
SPC g S stage current file
|
||
SPC g U unstage current file
|
||
SPC g c edit git commit
|
||
SPC g p git push
|
||
SPC g m git branch manager
|
||
SPC g d view git diff
|
||
SPC g A stage all files
|
||
SPC g b open git blame windows
|
||
SPC g h a stage current hunk
|
||
SPC g h r undo cursor hunk
|
||
SPC g h v preview cursor hunk
|
||
<
|
||
|
||
==============================================================================
|
||
GITHUB *SpaceVim-layers-github*
|
||
|
||
This layer provides GitHub integration for SpaceVim
|
||
|
||
MAPPINGS
|
||
|
||
>
|
||
Key Function
|
||
-------------------------------------------------------------
|
||
SPC g h i show issues
|
||
SPC g h a show activities
|
||
SPC g h d show dashboard
|
||
SPC g h f show current file in browser
|
||
SPC g h I show issues in browser
|
||
SPC g h p show PRs in browser
|
||
<
|
||
|
||
NOTE: If you are using python2, you may get error:
|
||
>
|
||
No module named past.builtins
|
||
<
|
||
|
||
To fix this issue, you need to install `future` module.
|
||
>
|
||
python2 -m pip install future
|
||
<
|
||
|
||
==============================================================================
|
||
GTAGS *SpaceVim-layers-gtags*
|
||
|
||
`gtags` layer provides |gtags| integration for SpaceVim. To load this layer:
|
||
>
|
||
[[layers]]
|
||
name = 'gtags'
|
||
<
|
||
LAYER OPTIONS
|
||
|
||
The layer option can be used when loading the `gtags` layer, for example:
|
||
>
|
||
[[layers]]
|
||
name = 'gtags'
|
||
auto_update = true
|
||
open_quickfix = 0
|
||
<
|
||
1. `auto_update`: enable/disable database update automatically.
|
||
2. `open_quickfix`: This setting will open the |quickfix| list when
|
||
adding entries. same as |g:gtags_open_list|
|
||
3. `gtagslabel`: the backend of gtags command, you can use `ctags` or
|
||
`pygments`. It is empty string by default.
|
||
4. `ctags_bin`: set the command or path of ctags, default is 'ctags'
|
||
|
||
==============================================================================
|
||
INCSEARCH *SpaceVim-layers-incsearch*
|
||
|
||
This layer improved incremental searching for neovim/vim
|
||
|
||
KEY BINDINGS
|
||
|
||
The following key bindings will be defined when this layer is loaded.
|
||
>
|
||
key binding description
|
||
/ incsearch forward
|
||
? incsearch backward
|
||
g/ incsearch stay
|
||
n nohlsearch n
|
||
N nohlsearch N
|
||
* nohlsearch *
|
||
# nohlsearch #
|
||
g* nohlsearch g*
|
||
g# nohlsearch g#
|
||
SPC b / fuzzy find word
|
||
<
|
||
|
||
==============================================================================
|
||
INDENTMOVE *SpaceVim-layers-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#WEBASSEMBLY *SpaceVim-layers-lang-WebAssembly*
|
||
|
||
This layer provides syntax highlighting for WebAssembly file. and it is
|
||
disabled by default, to enable this layer, add following snippet to your
|
||
SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#WebAssembly'
|
||
<
|
||
|
||
|
||
==============================================================================
|
||
LANG#ACTIONSCRIPT *SpaceVim-layers-lang-actionscript*
|
||
|
||
This layer provides syntax highlighting for actionscript. To enable this
|
||
layer:
|
||
>
|
||
[[layers]]
|
||
name = "lang#actionscript"
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#AGDA *SpaceVim-layers-lang-agda*
|
||
|
||
This layer provides syntax highlighting for agda. To enable this layer:
|
||
>
|
||
[[layers]]
|
||
name = "lang#agda"
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
The following key bindings will be added when this layer is loaded. All key
|
||
bindings start with `SPC l`.
|
||
|
||
|
||
>
|
||
Key binding Description
|
||
SPC l r execute current file
|
||
SPC l l reload
|
||
SPC l t infer
|
||
SPC l f refine false
|
||
SPC l F refine true
|
||
SPC l g give
|
||
SPC l c make case
|
||
SPC l a auto
|
||
SPC l e context
|
||
SPC l n Normalize IgnoreAbstract
|
||
SPC l N Normalize DefaultCompute
|
||
SPC l M Show module
|
||
SPC l y why in scope
|
||
SPC l h helper function
|
||
SPC l m metas
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#ASCIIDOC *SpaceVim-layers-lang-asciidoc*
|
||
|
||
This layer provides syntax highlighting for asciidoc. To enable this layer:
|
||
>
|
||
[[layers]]
|
||
name = "lang#asciidoc"
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#ASPECTJ *SpaceVim-layers-lang-aspectj*
|
||
|
||
This layer provides syntax highlighting for aspectj. To enable this layer:
|
||
>
|
||
[[layers]]
|
||
name = "lang#aspectj"
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#ASSEMBLY *SpaceVim-layers-lang-assembly*
|
||
|
||
This layer provides syntax highlighting for assembly. To enable this layer:
|
||
>
|
||
[[layers]]
|
||
name = "lang#assembly"
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#AUTOHOTKEY *SpaceVim-layers-lang-autohotkey*
|
||
|
||
This layer provides syntax highlighting for autohotkey. To enable this layer:
|
||
>
|
||
[[layers]]
|
||
name = "lang#autohotkey"
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#AUTOIT *SpaceVim-layers-lang-autoit*
|
||
|
||
This layer provides syntax highlighting for autoit. To enable this layer:
|
||
>
|
||
[[layers]]
|
||
name = "lang#autoit"
|
||
<
|
||
|
||
KEY BINDINGS
|
||
The following key binding will be added when this layer is loaded:
|
||
>
|
||
key binding Description
|
||
SPC l r run current file
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#BATCH *SpaceVim-layers-lang-batch*
|
||
|
||
This layer is for batch development, disabled by default, to enable this
|
||
layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#batch'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r run current file
|
||
<
|
||
|
||
This layer also provides REPL support for batch, 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#C *SpaceVim-layers-lang-c*
|
||
|
||
This layer is for c/cpp development, disabled by default, to enable this
|
||
layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#c'
|
||
<
|
||
|
||
LAYER OPTIONS
|
||
|
||
`clang_executable`: Set the path to the clang executable, by default, it is
|
||
`clang`.
|
||
|
||
`enable_clang_syntax_highlight`: Enable/Disable clang based syntax
|
||
highlighting. By default it is disabled.
|
||
|
||
`libclang_path`: The libclang shared object (dynamic library) file path. By
|
||
default it is empty
|
||
|
||
`clang_std`: This is a dictionary for setting std for c/cpp. The default
|
||
valuable is :
|
||
>
|
||
'c' : 'c11',
|
||
'cpp' : 'c++1z',
|
||
'objc' : 'c11',
|
||
'objcpp': 'c++1z',
|
||
<
|
||
|
||
`clang_flag`: You should be able to just paste most of your compile flags in
|
||
there.
|
||
|
||
Here is an example how to use above options:
|
||
>
|
||
[[layers]]
|
||
name = "lang#c"
|
||
clang_executable = "/usr/bin/clang"
|
||
clang_flag = ['-I/user/include']
|
||
[layers.clang_std]
|
||
c = "c11"
|
||
cpp = "c++1z"
|
||
objc = "c11"
|
||
objcpp = "c++1z"
|
||
<
|
||
|
||
Instead of using `clang_flag` options, You can also create a `.clang` file in
|
||
the root directory of your project. SpaceVim will load the options defined in
|
||
`.clang` file. For example:
|
||
>
|
||
-std=c11
|
||
-I/home/test
|
||
<
|
||
Note: If `.clang` file contains std configuration, it will override
|
||
`clang_std` layer option.
|
||
|
||
KEY BINDINGS
|
||
|
||
|
||
>
|
||
Key Function
|
||
--------------------------------
|
||
SPC l r run current file
|
||
g d jump to definition
|
||
<
|
||
|
||
This layer also provides REPL support for c, 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
|
||
<
|
||
|
||
If the lsp layer is enabled for c/c++, the following key bindings can be used:
|
||
>
|
||
key binding Description
|
||
--------------------------------
|
||
g D jump to declaration
|
||
SPC l e rename symbol
|
||
SPC l x show references
|
||
SPC l h show line diagnostics
|
||
SPC l d show document
|
||
K show document
|
||
SPC l w l list workspace folder
|
||
SPC l w a add workspace folder
|
||
SPC l w r remove workspace folder
|
||
<
|
||
|
||
Known issue:
|
||
|
||
You need to use `flush(stdout)` before `scanf()` when run code in code runner.
|
||
|
||
}}}
|
||
|
||
==============================================================================
|
||
LANG#CHAPEL *SpaceVim-layers-lang-chapel*
|
||
|
||
This layer is for chapel development, disabled by default, to enable this
|
||
layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#chapel'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r compile and run current file
|
||
<
|
||
|
||
|
||
==============================================================================
|
||
LANG#CLOJURE *SpaceVim-layers-lang-clojure*
|
||
|
||
This layer provides clojure language support in SpaceVim. Including syntax
|
||
highlighting, code indent, code runner and REPL. This layer is not enabled by
|
||
default, To enable this layer:
|
||
>
|
||
[[layers]]
|
||
name = "lang#clojure"
|
||
<
|
||
|
||
LAYER OPTIONS
|
||
|
||
1. `clojure_interpreter`: Set the clojure interpreter, by default, it is
|
||
`clojure`
|
||
>
|
||
[[layers]]
|
||
name = 'lang#clojure'
|
||
clojure_interpreter = 'path/to/clojure'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r run current file
|
||
<
|
||
|
||
This layer also provides REPL support for clojure, 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
|
||
<
|
||
|
||
If the lsp layer is enabled for clojure, the following key bindings can be
|
||
used:
|
||
>
|
||
key binding Description
|
||
g D jump to type definition
|
||
SPC l e rename symbol
|
||
SPC l x show references
|
||
SPC l h show line diagnostics
|
||
SPC l d show document
|
||
K show document
|
||
SPC l w l list workspace folder
|
||
SPC l w a add workspace folder
|
||
SPC l w r remove workspace folder
|
||
<
|
||
|
||
TASKS
|
||
SpaceVim will detect lein project tasks automatically. If there is
|
||
`project.clj` file in the root directory of your project. Following tasks will
|
||
be detected:
|
||
|
||
1. `lein:test`
|
||
2. `lein:run`
|
||
|
||
==============================================================================
|
||
LANG#CMAKE *SpaceVim-layers-lang-cmake*
|
||
|
||
This layer is for cmake development, disabled by default, to enable this
|
||
layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#cmake'
|
||
<
|
||
|
||
|
||
==============================================================================
|
||
LANG#COFFEESCRIPT *SpaceVim-layers-lang-coffeescript*
|
||
|
||
This layer is for coffeescript development, disabled by default, to enable
|
||
this layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#coffeescript'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r run current file
|
||
<
|
||
|
||
This layer also provides REPL support for coffeescript, 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#CRYSTAL *SpaceVim-layers-lang-crystal*
|
||
|
||
INTRO
|
||
|
||
The lang#crystal layer provides crystal filetype detection and syntax
|
||
highlight, crystal tool and crystal spec integration. To enable this layer:
|
||
>
|
||
[[layers]]
|
||
name = "lang#crystal"
|
||
<
|
||
|
||
MAPPING
|
||
|
||
>
|
||
Key binding description
|
||
SPC l r run current code
|
||
|
||
<
|
||
This layer also provides REPL support for crystal, 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#CSHARP *SpaceVim-layers-lang-csharp*
|
||
|
||
INTRO
|
||
|
||
This layer includes utilities and language-specific mappings for csharp
|
||
development. By default it is disabled, to enable this layer:
|
||
>
|
||
[[layers]]
|
||
name = "lang#csharp"
|
||
<
|
||
|
||
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-layers-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-layers-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|. To enable this layer:
|
||
>
|
||
[[layers]]
|
||
name = "lang#dart"
|
||
<
|
||
|
||
LAYER OPTIONS
|
||
|
||
1. `dart_sdk_path`: Set the path of dart sdk, by default, it is ''.
|
||
|
||
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
|
||
<
|
||
|
||
This layer use deoplete-dart as default completion plugin for dart. If the
|
||
|SpaceVim-layer-lsp| is enabled for dart, This plugin will not be loaded.
|
||
|
||
|
||
|
||
==============================================================================
|
||
LANG#DOCKERFILE *SpaceVim-layers-lang-dockerfile*
|
||
|
||
INTRO
|
||
|
||
The lang#dockerfile layer provides syntax highlighting for dockerfile. By
|
||
default it is disabled, to enable this layer:
|
||
>
|
||
[[layers]]
|
||
name = "lang#dockerfile"
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#E *SpaceVim-layers-lang-e*
|
||
|
||
INTRO
|
||
|
||
This layer includes utilities and language-specific mappings for e
|
||
development. By default it is disabled, to enable this layer:
|
||
>
|
||
[[layers]]
|
||
name = "lang#e"
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#EIFFEL *SpaceVim-layers-lang-eiffel*
|
||
|
||
This layer is for lang#eiffel development, disabled by default, to enable this
|
||
layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#eiffel'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Key Function
|
||
-----------------------------
|
||
SPC l c run eclean
|
||
<
|
||
|
||
|
||
==============================================================================
|
||
LANG#ELIXIR *SpaceVim-layers-lang-elixir*
|
||
|
||
This layer is for elixir development, disabled by default, to enable this
|
||
layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#elixir'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r run current file
|
||
normal g d jump to definition
|
||
<
|
||
|
||
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#ELM *SpaceVim-layers-lang-elm*
|
||
|
||
This layer is for elm development, disabled by default, to enable this layer,
|
||
add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#elm'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r run current file
|
||
<
|
||
|
||
This layer also provides REPL support for elm, 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#ERLANG *SpaceVim-layers-lang-erlang*
|
||
|
||
This layer is for erlang development, disabled by default, to enable this
|
||
layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#erlang'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r run current file
|
||
<
|
||
|
||
This layer also provides REPL support for erlang, 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#EXTRA *SpaceVim-layers-lang-extra*
|
||
|
||
INTRO
|
||
|
||
The lang#extra layer provides syntax highlighting, indent for extra
|
||
programming language. includes:
|
||
|
||
1. pug
|
||
|
||
digitaltoad/vim-pug syntax highlighting and indent
|
||
|
||
2. i3config
|
||
|
||
PotatoesMaster/i3-vim-syntax syntax highlighting for i3 config
|
||
|
||
3. irssi config
|
||
|
||
isundil/vim-irssi-syntax syntax highlighting for irssi config
|
||
|
||
==============================================================================
|
||
LANG#FENNEL *SpaceVim-layers-lang-fennel*
|
||
|
||
This layer is for fennel development, disabled by default, to enable this
|
||
layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#fennel'
|
||
<
|
||
|
||
LAYER OPTIONS
|
||
|
||
1. `fennel_interpreter`: Set the path of `fennel` command,
|
||
by default it is `fennel`.
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r run current file
|
||
<
|
||
|
||
This layer also provides REPL support for fennel, 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#FORTH *SpaceVim-layers-lang-forth*
|
||
|
||
This layer is for forth development, disabled by default, to enable this
|
||
layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#forth'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r run current file
|
||
<
|
||
|
||
|
||
==============================================================================
|
||
LANG#FORTRAN *SpaceVim-layers-lang-fortran*
|
||
|
||
This layer is for fortran development, disabled by default, to enable this
|
||
layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#fortran'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r run current file
|
||
<
|
||
|
||
This layer also provides REPL support for fortran, 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#FOXPRO *SpaceVim-layers-lang-foxpro*
|
||
|
||
INTRO
|
||
|
||
The lang#foxpro layer provides syntax highlighting for foxpro.
|
||
|
||
==============================================================================
|
||
LANG#FSHARP *SpaceVim-layers-lang-fsharp*
|
||
|
||
This layer is for fsharp development, disabled by default, to enable this
|
||
layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#fsharp'
|
||
<
|
||
|
||
This layer also provides REPL support for goby, 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#GO *SpaceVim-layers-lang-go*
|
||
|
||
The `lang#go` layer includes code completion and syntax checking for Go
|
||
development. This layer is not enabled by default, to enable it:
|
||
>
|
||
[[layers]]
|
||
name = 'go'
|
||
<
|
||
LAYER OPTIONS
|
||
1. `enabled_linters`: set a list of enabled lint for golang. by default this
|
||
option is `['golint']`. The available linters includes: `go`, `gometalinter`
|
||
2. go_file_head: the default file head for golang source code.
|
||
|
||
>
|
||
[[layers]]
|
||
name = "lang#go"
|
||
go_file_head = [
|
||
'#!/usr/bin/python3',
|
||
'# -*- coding : utf-8 -*-'
|
||
''
|
||
]
|
||
<
|
||
3. `go_interpreter`: Set the interpreter of go.
|
||
|
||
>
|
||
[[layers]]
|
||
name = 'lang#go'
|
||
go_interpreter = '~/download/bin/go'
|
||
<
|
||
4. format_on_save: enable/disable code formation when save go file. This
|
||
options is disabled by default, to enable it:
|
||
>
|
||
[[layers]]
|
||
name = 'lang#go'
|
||
format_on_save = true
|
||
<
|
||
|
||
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
|
||
<
|
||
If the lsp layer is enabled for go, the following key bindings can be used:
|
||
>
|
||
key binding Description
|
||
g D jump to type definition
|
||
SPC l e rename symbol
|
||
SPC l x show references
|
||
SPC l s show line diagnostics
|
||
SPC l d show document
|
||
K show document
|
||
SPC l w l list workspace folder
|
||
SPC l w a add workspace folder
|
||
SPC l w r remove workspace folder
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#GOBY *SpaceVim-layers-lang-goby*
|
||
|
||
This layer is for goby development, disabled by default, to enable this layer,
|
||
add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#goby'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r run current file
|
||
<
|
||
|
||
This layer also provides REPL support for goby, 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#GOSU *SpaceVim-layers-lang-gosu*
|
||
|
||
This layer is for gosu development, disabled by default, to enable this layer,
|
||
add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#gosu'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r run current file
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#GRAPHQL *SpaceVim-layers-lang-graphql*
|
||
|
||
INTRO
|
||
|
||
The lang#graphql layer provides syntax highlighting indent for graphql. To
|
||
enable this layer:
|
||
>
|
||
[[layers]]
|
||
name = "lang#graphql"
|
||
<
|
||
|
||
This filetype is automatically selected for filenames ending in .graphql,
|
||
.graphqls, and .gql. If you would like to enable automatic syntax support for
|
||
more file extensions (e.g., *.prisma), add following into bootstrap function.
|
||
>
|
||
augroup mybootstrap
|
||
au!
|
||
au BufNewFile,BufRead *.prisma setfiletype graphql
|
||
augroup END
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#GROOVY *SpaceVim-layers-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-layers-lang-hack*
|
||
|
||
INTRO
|
||
|
||
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-layers-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#HAXE *SpaceVim-layers-lang-haxe*
|
||
|
||
This layer is for haxe development, disabled by default, to enable this layer,
|
||
add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#haxe'
|
||
<
|
||
|
||
LAYER OPTIONS
|
||
|
||
1. `haxe_interpreter`: Set the haxe interpreter, by default, it is `haxe`
|
||
|
||
>
|
||
[[layers]]
|
||
name = 'lang#haxe'
|
||
haxe_interpreter = 'path/to/haxe'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r run current file
|
||
<
|
||
|
||
This layer also provides REPL support for haxe, 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#HTML *SpaceVim-layers-lang-html*
|
||
|
||
This layer is for html development, disabled by default, to enable this layer,
|
||
add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = "lang#html"
|
||
<
|
||
|
||
OPTIONS
|
||
|
||
`emmet_leader_key`: change the default leader key for emmet
|
||
`emmet_filetyps`: Set the filetypes for enabling emmet
|
||
|
||
>
|
||
[[layers]]
|
||
name = "lang#html"
|
||
emmet_leader_key = "<C-e>"
|
||
emmet_filetyps = ['html']
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
|
||
>
|
||
Key Binding description
|
||
<C-e> emmet leader key
|
||
<
|
||
|
||
|
||
==============================================================================
|
||
LANG#HY *SpaceVim-layers-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'
|
||
<
|
||
|
||
LAYER OPTIONS
|
||
|
||
1. `hy_interpreter`: Set the hy interpreter, by default, it is `hy`
|
||
|
||
>
|
||
[[layers]]
|
||
name = 'lang#hy'
|
||
hy_interpreter = 'path/to/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#IDRIS *SpaceVim-layers-lang-idris*
|
||
|
||
This layer is for idris development, disabled by default, to enable this
|
||
layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#idris'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r run current file
|
||
<
|
||
|
||
This layer also provides REPL support for idris, 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#IO *SpaceVim-layers-lang-io*
|
||
|
||
This layer is for io development, disabled by default, to enable this layer,
|
||
add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#io'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r run current file
|
||
<
|
||
|
||
This layer also provides REPL support for io, 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#J *SpaceVim-layers-lang-j*
|
||
|
||
This layer is for j development, disabled by default, to enable this layer,
|
||
add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#j'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r run current file
|
||
<
|
||
|
||
This layer also provides REPL support for j, 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#JANET *SpaceVim-layers-lang-janet*
|
||
|
||
This layer is for janet development, disabled by default, to enable this
|
||
layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#janet'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r run current file
|
||
<
|
||
|
||
This layer also provides REPL support for janet, 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-layers-lang-java*
|
||
|
||
This layer is for java development, disabled by default, to enable this layer,
|
||
add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#java'
|
||
<
|
||
LAYER OPTIONS
|
||
|
||
1. `format_on_save`: Enable/disabled code formatting when saving current
|
||
file. Disabled by default.
|
||
2. `java_formatter_jar`: Set the full path of google's java formatter jar.
|
||
3. `java_file_head`: The default file header for new java file. by default
|
||
it is:
|
||
|
||
>
|
||
[[layers]]
|
||
name = 'lang#java'
|
||
java_file_head = [
|
||
'/**',
|
||
' * @author : `fnamemodify(expand("~"), ":t")`',
|
||
' * @created : `strftime("%Y-%m-%d")`',
|
||
'**/',
|
||
''
|
||
]
|
||
<
|
||
4. `enabled_linters`: Set the enabled linters for java, default is
|
||
`['javac']`.
|
||
MAPPINGS
|
||
|
||
>
|
||
Import key bindings:
|
||
|
||
Mode Key Function
|
||
-------------------------------------------------------------
|
||
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 r run gradle run
|
||
normal SPC l g b run gradle build
|
||
normal SPC l g B run gradle clean 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 the layer option `java_formatter_jar` to the path of the jar.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#java'
|
||
java_formatter_jar = 'path/to/google-java-format.jar'
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#JAVASCRIPT *SpaceVim-layers-lang-javascript*
|
||
|
||
This layer is for JavaScript development, includes syntax lint, code
|
||
completion etc. To enable this layer:
|
||
>
|
||
[[layers]]
|
||
name = "lang#javascript"
|
||
<
|
||
The code linter is eslint, install eslint via:
|
||
>
|
||
npm install -g eslint-cli
|
||
<
|
||
LAYER OPTION
|
||
|
||
1. auto_fix: If this option is true, --fix will be added to neomake eslint
|
||
maker.
|
||
>
|
||
[[layers]]
|
||
name = "lang#javascript"
|
||
auto_fix = true
|
||
<
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Key Function
|
||
-----------------------------
|
||
SPC l r run current file
|
||
SPC b f format current buffer
|
||
<
|
||
|
||
This layer also provides REPL support for javascript, 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
|
||
<
|
||
If the lsp layer is enabled for javascript, the following key bindings can be
|
||
used:
|
||
>
|
||
key binding Description
|
||
g D jump to type definition
|
||
SPC l e rename symbol
|
||
SPC l x show references
|
||
SPC l h show line diagnostics
|
||
SPC l d show document
|
||
K show document
|
||
SPC l w l list workspace folder
|
||
SPC l w a add workspace folder
|
||
SPC l w r remove workspace folder
|
||
<
|
||
|
||
|
||
==============================================================================
|
||
LANG#JR *SpaceVim-layers-lang-jr*
|
||
|
||
This layer adds syntax highlighting for the JR Concurrent Programming
|
||
Language. JR is the implementation of the SR language for Java. It is disabled
|
||
by default, to enable this layer, add following snippet to your SpaceVim
|
||
configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#jr'
|
||
<
|
||
|
||
|
||
==============================================================================
|
||
LANG#JSON *SpaceVim-layers-lang-json*
|
||
|
||
This layer provides syntax highlighting for json file. To enable this layer:
|
||
>
|
||
[[layers]]
|
||
name = "lang#json"
|
||
<
|
||
|
||
OPTIONS
|
||
|
||
1. conceal: Set the valuable for |g:vim_json_syntax_conceal|
|
||
|
||
2. concealcursor: Set the valuable for |g:vim_json_syntax_concealcursor|
|
||
|
||
|
||
>
|
||
[[layers]]
|
||
name = 'lang#json'
|
||
conceal = false
|
||
concealcursor = ''
|
||
<
|
||
3. enable_json5: Enable/Disable json5 support. Enabled by default.
|
||
|
||
==============================================================================
|
||
LANG#JSONNET *SpaceVim-layers-lang-jsonnet*
|
||
|
||
This layer adds syntax highlighting for the jsonnet Language. It is disabled
|
||
by default, to enable this layer, add following snippet to your SpaceVim
|
||
configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#jsonnet'
|
||
<
|
||
|
||
|
||
==============================================================================
|
||
LANG#JULIA *SpaceVim-layers-lang-julia*
|
||
|
||
This layer is for julia development, disabled by default, to enable this
|
||
layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#julia'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
This layer brings following key bindings to julia file:
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r run current file
|
||
<
|
||
This layer also provides REPL support for julia, 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
|
||
<
|
||
To format julia code, you need to install `JuliaFormatter`, and the key
|
||
binding is `SPC b f`
|
||
|
||
If the lsp layer is enabled for julia, the following key bindings can be used:
|
||
>
|
||
key binding Description
|
||
g D jump to type definition
|
||
g d jump to definition
|
||
SPC l e rename symbol
|
||
SPC l x show references
|
||
SPC l h show line diagnostics
|
||
SPC l d show document
|
||
K show document
|
||
SPC l w l list workspace folder
|
||
SPC l w a add workspace folder
|
||
SPC l w r remove workspace folder
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#KOTLIN *SpaceVim-layers-lang-kotlin*
|
||
|
||
This layer is for kotlin development, disabled by default, to enable this
|
||
layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#kotlin'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r run current file
|
||
<
|
||
|
||
This layer also provides REPL support for kotlin, 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#LASSO *SpaceVim-layers-lang-lasso*
|
||
|
||
This layer provides syntax highlighting for lasso. To enable this layer:
|
||
>
|
||
[[layers]]
|
||
name = "lang#lasso"
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#LATEX *SpaceVim-layers-lang-latex*
|
||
|
||
This layer is for latex development, disabled by default, to enable this
|
||
layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#latex'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l i vimtex-info
|
||
normal SPC l I vimtex-info-full
|
||
normal SPC l t vimtex-toc-open
|
||
normal SPC l T vimtex-toc-toggle
|
||
normal SPC l y vimtex-labels-open
|
||
normal SPC l Y vimtex-labels-toggle
|
||
normal SPC l v vimtex-view
|
||
normal SPC l r vimtex-reverse-search
|
||
normal SPC l l vimtex-compile
|
||
normal SPC l L vimtex-compile-selected
|
||
normal SPC l k vimtex-stop
|
||
normal SPC l K vimtex-stop-all
|
||
normal SPC l e vimtex-errors
|
||
normal SPC l o vimtex-compile-output
|
||
normal SPC l g vimtex-status
|
||
normal SPC l G vimtex-status-all
|
||
normal SPC l c vimtex-clean
|
||
normal SPC l C vimtex-clean-full
|
||
normal SPC l m vimtex-imaps-list
|
||
normal SPC l x vimtex-reload
|
||
normal SPC l X vimtex-reload-state
|
||
normal SPC l s vimtex-toggle-main
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#LIQUID *SpaceVim-layers-lang-liquid*
|
||
|
||
This layer provides syntax highlighting for liquid. To enable this layer:
|
||
>
|
||
[[layers]]
|
||
name = "lang#liquid"
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#LISP *SpaceVim-layers-lang-lisp*
|
||
|
||
This layer is for Common Lisp development, disabled by default, to enable this
|
||
layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#lisp'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r run current file
|
||
<
|
||
|
||
This layer also provides REPL support for lisp, 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#LIVESCRIPT *SpaceVim-layers-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-layers-lang-lua*
|
||
|
||
This layer includes utilities and language-specific mappings for lua
|
||
development.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#lua'
|
||
<
|
||
|
||
LAYER OPTIONS
|
||
|
||
1. lua_file_head: the default file head for lua source code.
|
||
|
||
>
|
||
[[layers]]
|
||
name = "lang#lua"
|
||
ruby_file_head = [
|
||
'--!/usr/bin/lua',
|
||
''
|
||
]
|
||
<
|
||
2. repl_command: the REPL command for lua
|
||
|
||
>
|
||
[[layers]]
|
||
name = 'lang#lua'
|
||
repl_command = '~/download/bin/lua'
|
||
<
|
||
3. format_on_save: enable/disable code formation when save lua file. This
|
||
options is disabled by default, to enable it:
|
||
>
|
||
[[layers]]
|
||
name = 'lang#lua'
|
||
format_on_save = true
|
||
<
|
||
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#MARKDOWN *SpaceVim-layers-lang-markdown*
|
||
|
||
This layer adds markdown support to SpaceVim. It is disabled by default, to
|
||
enable this layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#markdown'
|
||
<
|
||
LAYER OPTIONS
|
||
|
||
The following layer options are supported in this layer:
|
||
|
||
1. `enabled_formater`: Set the enabled formater, by default it is
|
||
`['remark']`. To use `prettier`, you need to install `prettier` via:
|
||
>
|
||
npm install --global prettier
|
||
<
|
||
2. `enableWcwidth`: Enable/disabled wcwidth option, it is disabled by
|
||
default.
|
||
3. `listItemChar`: Set the default list item char, it is `-` by default.
|
||
4. `listItemIndent`: Set the default indent of list item. It is `1` by
|
||
default.
|
||
Here is an example for loading `lang#markdown` layer:
|
||
>
|
||
[[layers]]
|
||
name = 'lang#markdown'
|
||
enableWcwidth = 1
|
||
listItemIndent = 1
|
||
enabled_formater = ['prettier']
|
||
<
|
||
KEY BINDINGS
|
||
|
||
This layer brings following key bindings to markdown file:
|
||
>
|
||
Key binding Description
|
||
Ctrl-b insert code block
|
||
SPC l r run code in code block
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#MOONSCRIPT *SpaceVim-layers-lang-moonscript*
|
||
|
||
This layer is for moonscript development, disabled by default, to enable this
|
||
layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#moonscript'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Key Function
|
||
-----------------------------
|
||
SPC l r Run current moonscript
|
||
<
|
||
|
||
This layer also provides REPL support for moonscript, 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-layers-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#NIX *SpaceVim-layers-lang-nix*
|
||
|
||
INTRO
|
||
The lang#nix layer provides syntax highlighting and basic LSP support for the
|
||
Nix expression language.
|
||
|
||
==============================================================================
|
||
LANG#OCAML *SpaceVim-layers-lang-ocaml*
|
||
|
||
OCaml autocompletion provided by merlin.
|
||
|
||
Requirements:
|
||
>
|
||
opam
|
||
merlin
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#OCTAVE *SpaceVim-layers-lang-octave*
|
||
|
||
This layer adds syntax highlighting for the GNU Octave. It is disabled by
|
||
default, to enable this layer, add following snippet to your SpaceVim
|
||
configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#octave'
|
||
<
|
||
|
||
|
||
==============================================================================
|
||
LANG#PACT *SpaceVim-layers-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#PASCAL *SpaceVim-layers-lang-pascal*
|
||
|
||
This layer is for pascal development, disabled by default, to enable this
|
||
layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#pascal'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r run current file
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#PERL *SpaceVim-layers-lang-perl*
|
||
|
||
This layer is for perl development, disabled by default, to enable this layer,
|
||
add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#perl'
|
||
<
|
||
|
||
LAYER OPTIONS
|
||
|
||
1. `perl_interpreter`: Set the perl interpreter, by default, it is `perl`
|
||
|
||
>
|
||
[[layers]]
|
||
name = 'lang#perl'
|
||
perl_interpreter = 'path/to/perl'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r run current file
|
||
<
|
||
|
||
This layer also provides REPL support for perl, 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-layers-lang-php*
|
||
|
||
This layer is for php development, disabled by default, to enable this layer,
|
||
add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#php'
|
||
<
|
||
|
||
LAYER OPTIONS
|
||
|
||
1. `php_interpreter`: Set the PHP interpreter, by default, it is `php`
|
||
|
||
>
|
||
[[layers]]
|
||
name = 'lang#php'
|
||
php_interpreter = 'path/to/php'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Key Function
|
||
--------------------------------
|
||
SPC l r run current file
|
||
g d jump to definition
|
||
<
|
||
|
||
This layer also provides REPL support for php, 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
|
||
<
|
||
|
||
If the lsp layer is enabled for php, the following key bindings can be used:
|
||
>
|
||
key binding Description
|
||
--------------------------------
|
||
g D jump to declaration
|
||
SPC l e rename symbol
|
||
SPC l x show references
|
||
SPC l h show line diagnostics
|
||
SPC l d show document
|
||
K show document
|
||
SPC l w l list workspace folder
|
||
SPC l w a add workspace folder
|
||
SPC l w r remove workspace folder
|
||
<
|
||
|
||
|
||
==============================================================================
|
||
LANG#PLANTUML *SpaceVim-layers-lang-plantuml*
|
||
|
||
This layer is for plantuml development, disabled by default, to enable this
|
||
layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#plantuml'
|
||
<
|
||
|
||
LAYER OPTIONS
|
||
|
||
1. `java_command`: Set the path of java command, by default, it is `java`
|
||
|
||
>
|
||
[[layers]]
|
||
name = 'lang#plantuml'
|
||
java_command = 'path/to/java'
|
||
<
|
||
2. `plantuml_jar_path`: Set the path of `pluatuml.jar`.
|
||
|
||
>
|
||
[[layers]]
|
||
name = 'lang#plantuml'
|
||
plantuml_jar_path = 'path/to/plantuml.jar'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l p preview uml file
|
||
normal SPC l c stop preview
|
||
normal SPC l s save uml file
|
||
<
|
||
|
||
|
||
==============================================================================
|
||
LANG#PONY *SpaceVim-layers-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#POSTSCRIPT *SpaceVim-layers-lang-postscript*
|
||
|
||
This layer is for postscript development, disabled by default, to enable this
|
||
layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#postscript'
|
||
<
|
||
|
||
|
||
==============================================================================
|
||
LANG#PROCESSING *SpaceVim-layers-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-layers-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'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
|
||
>
|
||
Key Function
|
||
--------------------------------
|
||
SPC l r run current file
|
||
<
|
||
|
||
The default code runner command is `swipl -q -f %s -t main`, `%s` will be
|
||
replaced to the path of current file.
|
||
|
||
This layer also provides REPL support for prolog, 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#PUPPET *SpaceVim-layers-lang-puppet*
|
||
|
||
This layer is for Puppet development. It provides syntax highlighting and
|
||
syntax checking. This layer is not loaded by default. To load this layer, add
|
||
following snippet into SpaceVim configuration file:
|
||
>
|
||
[[layers]]
|
||
name = 'lang#puppet'
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#PURESCRIPT *SpaceVim-layers-lang-purescript*
|
||
|
||
This layer provides purescript language support for SpaceVim. Includding
|
||
syntax highlighting, code formatting and code completion. This layer is not
|
||
enabled by default, to enable this layer, add following snippet into SpaceVim
|
||
configuration file:
|
||
>
|
||
[[layers]]
|
||
name = 'lang#purescript'
|
||
<
|
||
KEY BINDINGS
|
||
|
||
|
||
>
|
||
Key Function
|
||
--------------------------------
|
||
SPC l L list loaded modules
|
||
SPC l l reset loaded modules and load externs
|
||
SPC l R rebuild current buffer
|
||
SPC l f generate function template
|
||
SPC l t add type annotation
|
||
SPC l a apply current line suggestion
|
||
SPC l A apply all suggestions
|
||
SPC l C add case expression
|
||
SPC l i import module
|
||
SPC l p search pursuit for cursor ident
|
||
SPC l T find type of cursor ident
|
||
<
|
||
|
||
This layer also provides REPL support for purescript, 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#PYTHON *SpaceVim-layers-lang-python*
|
||
|
||
This layer provides python language support for SpaceVim. Includding syntax
|
||
highlighting, code formatting and code completion. This layer is not enabled
|
||
by default, to enable this layer, add following snippet into SpaceVim
|
||
configuration file:
|
||
>
|
||
[[layers]]
|
||
name = 'lang#python'
|
||
<
|
||
|
||
OPTIONS
|
||
|
||
1. python_file_head: the default file head for python source code.
|
||
|
||
>
|
||
[[layers]]
|
||
name = "lang#python"
|
||
python_file_head = [
|
||
'#!/usr/bin/python3',
|
||
'# -*- coding : utf-8 -*-'
|
||
''
|
||
]
|
||
<
|
||
2. `python_interpreter`: Set the interpreter of python.
|
||
|
||
>
|
||
[[layers]]
|
||
name = 'lang#python'
|
||
python_interpreter = '~/download/bin/python3'
|
||
<
|
||
3. format_on_save: enable/disable code formation when save python file. This
|
||
options is disabled by default, to enable it:
|
||
>
|
||
[[layers]]
|
||
name = 'lang#python'
|
||
format_on_save = true
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
|
||
>
|
||
Key Function
|
||
--------------------------------
|
||
SPC l r run current file
|
||
g d jump to definition
|
||
SPC l i s format imports
|
||
SPC l i r run autoflake on current buffer
|
||
SPC l i i run :ImportName command
|
||
SPC l c r coverage report
|
||
SPC l c s coverage show
|
||
SPC l c e coverage session
|
||
SPC l c f coverage refresh
|
||
SPC l g d generate docstring
|
||
SPC l v l list all virtualenvs
|
||
SPC l v d deactivate current virtualenv
|
||
<
|
||
|
||
This layer also provides REPL support for python, 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
|
||
<
|
||
|
||
If the lsp layer is enabled for python, the following key bindings can be
|
||
used:
|
||
>
|
||
key binding Description
|
||
g D jump to type definition
|
||
SPC l e rename symbol
|
||
SPC l x show references
|
||
SPC l h show line diagnostics
|
||
SPC l d show document
|
||
K show document
|
||
SPC l w l list workspace folder
|
||
SPC l w a add workspace folder
|
||
SPC l w r remove workspace folder
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#R *SpaceVim-layers-lang-r*
|
||
|
||
This layer is for r development, disabled by default, to enable this layer,
|
||
add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#r'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
The command of code runner for R is `"R <%s"` `%s` will be replaced to the
|
||
path of current R file.
|
||
>
|
||
Key Function
|
||
--------------------------------
|
||
SPC l r run current file
|
||
<
|
||
|
||
This layer also provides REPL support for r, 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#RACKET *SpaceVim-layers-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#RACKET *SpaceVim-layers-lang-red*
|
||
|
||
This layer is for red development, disabled by default, to enable this layer,
|
||
add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#red'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r run current file
|
||
<
|
||
|
||
This layer also provides REPL support for red, 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#REASON *SpaceVim-layers-lang-reason*
|
||
|
||
This layer is for reason development, disabled by default, to enable this
|
||
layer, add following snippet to your |SpaceVim-options| file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#reason'
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#RING *SpaceVim-layers-lang-ring*
|
||
|
||
This layer is for ring development, disabled by default, to enable this layer,
|
||
add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#ring'
|
||
<
|
||
|
||
OPTIONS
|
||
|
||
1. ring_repl: Set the path of ring repl.
|
||
|
||
>
|
||
[[layers]]
|
||
name = "lang#ring"
|
||
ring_repl = "/path/to/repl.ring"
|
||
<
|
||
KEY BINDINGS
|
||
|
||
The code runner for ring is "ring %" % will be replaced to the path of current
|
||
ring file.
|
||
>
|
||
Key Function
|
||
--------------------------------
|
||
SPC l r run current file
|
||
<
|
||
|
||
This layer also provides REPL support for ring, 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#RUBY *SpaceVim-layers-lang-ruby*
|
||
|
||
This layer is for ruby development, disabled by default, to enable this layer,
|
||
add following snippet to your |SpaceVim-options| file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#ruby'
|
||
<
|
||
|
||
OPTIONS
|
||
|
||
1. ruby_file_head: the default file head for ruby source code.
|
||
|
||
>
|
||
[[layers]]
|
||
name = "lang#ruby"
|
||
ruby_file_head = [
|
||
'#!/usr/bin/ruby -w',
|
||
'# -*- coding : utf-8 -*-'
|
||
''
|
||
]
|
||
<
|
||
2. repl_command: the REPL command for ruby
|
||
|
||
>
|
||
[[layers]]
|
||
name = 'lang#ruby'
|
||
repl_command = '~/download/bin/ruby_repl'
|
||
<
|
||
3. format_on_save: enable/disable code formation when save ruby file. This
|
||
options is disabled by default, to enable it:
|
||
>
|
||
[[layers]]
|
||
name = 'lang#ruby'
|
||
repl_command = '~/download/bin/ruby_repl'
|
||
format_on_save = true
|
||
<
|
||
KEY BINDINGS
|
||
|
||
|
||
>
|
||
Key Function
|
||
--------------------------------
|
||
SPC l r run current file
|
||
<
|
||
|
||
This layer also provides REPL support for ruby, 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
|
||
<
|
||
To enable lsp support for ruby, you need to instal solargraph.
|
||
>
|
||
gem install --user-install solargraph
|
||
<
|
||
Enable the lsp layer for ruby:
|
||
>
|
||
[[layers]]
|
||
name = 'lsp'
|
||
enabled_clients = ['solargraph']
|
||
<
|
||
If the lsp layer is enabled for ruby, the following key bindings can be used:
|
||
>
|
||
key binding Description
|
||
g D jump to type definition
|
||
SPC l e rename symbol
|
||
SPC l x show references
|
||
SPC l h show line diagnostics
|
||
SPC l d show document
|
||
K show document
|
||
SPC l w l list workspace folder
|
||
SPC l w a add workspace folder
|
||
SPC l w r remove workspace folder
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#RUST *SpaceVim-layers-lang-rust*
|
||
|
||
`lang#rust` layers provides rust programming language support for SpaceVim.
|
||
This layers includes syntax highlighting, code runner, REPL for rust.
|
||
|
||
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:
|
||
|
||
>
|
||
[[layers]]
|
||
name = 'lang#rust'
|
||
racer_cmd = "/path/to/racer/bin"
|
||
<
|
||
|
||
LAYER OPTIONS
|
||
|
||
The following layer options are supported when loading this layer:
|
||
|
||
1. `recommended_style`: `true`/`false` (Enable/Disable) recommended code
|
||
style for rust. This option is disabled by default.
|
||
2. `format_on_save`: `true`/`false` (Enable/Disable) format current buffer
|
||
after save. This option is disabled by default.
|
||
3. `racer_cmd`: The path of `racer` binary. This option is `racer` by
|
||
default.
|
||
4. `rustfmt_cmd`: The path of `rustfmt` binary. This option is `rustfmt`
|
||
by default.
|
||
|
||
MAPPINGS
|
||
|
||
>
|
||
Key Function
|
||
-----------------------------------------------
|
||
g d rust-definition
|
||
SPC l d rust-doc
|
||
SPC l r run current file
|
||
SPC l e rls-rename-symbol
|
||
SPC l u rls-show-references
|
||
SPC l c b cargo-build
|
||
SPC l c c cargo-clean
|
||
SPC l c f cargo-fmt
|
||
SPC l c t cargo-test
|
||
SPC l c u cargo-update
|
||
SPC l c B cargo-bench
|
||
SPC l c D cargo-docs
|
||
SPC l c r cargo-run
|
||
SPC l c l cargo-clippy
|
||
<
|
||
|
||
This layer also provides REPL support for rust, 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
|
||
<
|
||
|
||
If the lsp layer is enabled for python, the following key bindings can be
|
||
used:
|
||
>
|
||
key binding Description
|
||
g D jump to type definition
|
||
SPC l e rename symbol
|
||
SPC l x show references
|
||
SPC l h show line diagnostics
|
||
SPC l d show document
|
||
K show document
|
||
SPC l w l list workspace folder
|
||
SPC l w a add workspace folder
|
||
SPC l w r remove workspace folder
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#SCALA *SpaceVim-layers-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`](https://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`](https://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
|
||
`scalariform_jar` option 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#SCHEME *SpaceVim-layers-lang-scheme*
|
||
|
||
This layer is for scheme development, disabled by default, to enable this
|
||
layer, add following snippet to your |SpaceVim-options| file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#scheme'
|
||
<
|
||
|
||
OPTIONS
|
||
|
||
1. scheme_dialect: Set the dialect of scheme.
|
||
|
||
2. scheme_interpreter: Set the path or interpreter of scheme.
|
||
|
||
MAPPINGS
|
||
|
||
>
|
||
Key Function
|
||
-----------------------------------------------
|
||
SPC l r Run current file
|
||
<
|
||
This layer also provides REPL support for scheme, 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#SH *SpaceVim-layers-lang-sh*
|
||
|
||
This layer is for shell script development, including bash, zsh and fish. This
|
||
layer provides basic syntax highlighting and code completion , and it is
|
||
disabled by default, to enable this layer, add following snippet to your
|
||
|SpaceVim-options| file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#sh'
|
||
<
|
||
|
||
|
||
==============================================================================
|
||
LANG#SMALLTALK *SpaceVim-layers-lang-smalltalk*
|
||
|
||
This layer is for smalltalk development, disabled by default, to enable this
|
||
layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#smalltalk'
|
||
<
|
||
|
||
|
||
==============================================================================
|
||
LANG#SML *SpaceVim-layers-lang-sml*
|
||
|
||
This layer is for Standard ML development. This layer provides basic syntax
|
||
highlighting and code completion , and it is disabled by default, to enable
|
||
this layer, add following snippet to your |SpaceVim-options| file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#sml'
|
||
<
|
||
|
||
You can run `:SMLCheckHealth` to check whether the environment if OK.
|
||
|
||
LAYER OPTIONS
|
||
|
||
`smlnj_path`: Set the path to the smlnj executable, by default, it is `sml`.
|
||
|
||
`mlton_path`: Set the path to the mlton executable, by default, it is `mlton`.
|
||
|
||
`repl_options`: Options used for REPL, by default, it is ''.
|
||
|
||
`auto_create_def_use`: Whether to build def-use files on save automatically.
|
||
By default, it is `mlb`. Valid values is:
|
||
>
|
||
'mlb': Auto build def-use if there's a *.mlb file
|
||
'always': Always build def-use file
|
||
'never': Never build def-use file
|
||
<
|
||
|
||
`enable_conceal`: `0`/`1`. Whether to enable concealing for SML files. `0` by
|
||
defaults. `'a` becomes `α` (or `'α`). `fn` becomes `λ.`
|
||
|
||
`enable_conceal_show_tick`: `0`/`1`. When conceal is enabled, show `'α` for
|
||
`'a` instead of `α`. Helps for alignment. `0` by default.
|
||
|
||
`sml_file_head`: Template for new sml file.
|
||
|
||
Here is an example how to use above options:
|
||
>
|
||
[[layers]]
|
||
name = "lang#sml"
|
||
smlnj_path = "/usr/local/smlnj/bin/sml"
|
||
mlton_path = "/usr/local/bin/mlton"
|
||
repl_options = ''
|
||
enable_conceal = 1
|
||
enable_conceal_show_tick = 1
|
||
auto_create_def_use = 'always'
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#SWIFT *SpaceVim-layers-lang-swift*
|
||
|
||
This layer is for swift development, including syntax highlighting and indent.
|
||
To enable it:
|
||
>
|
||
[[layers]]
|
||
name = "lang#swift"
|
||
<
|
||
MAPPINGS
|
||
|
||
>
|
||
Key Function
|
||
-----------------------------------------------
|
||
SPC l k jumping to placeholders
|
||
SPC l r Run current file
|
||
<
|
||
This layer also provides REPL support for swift, 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#SWIG *SpaceVim-layers-lang-swig*
|
||
|
||
This layer is for swig development, including syntax highlighting and indent.
|
||
To enable it:
|
||
>
|
||
[[layers]]
|
||
name = "lang#swig"
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#TCL *SpaceVim-layers-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#TEAL *SpaceVim-layers-lang-teal*
|
||
|
||
This layer is for teal development, disabled by default, to enable this layer,
|
||
add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#teal'
|
||
<
|
||
|
||
LAYER OPTIONS
|
||
|
||
1. `teal_interpreter`: Set the teal interpreter, by default, it is `tl`
|
||
|
||
>
|
||
[[layers]]
|
||
name = 'lang#teal'
|
||
teal_interpreter = 'path/to/tl'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r run current file
|
||
<
|
||
|
||
This layer also provides REPL support for teal, 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#TOML *SpaceVim-layers-lang-toml*
|
||
|
||
This layer provides basic syntax highlighting for toml. To enable it:
|
||
>
|
||
[[layers]]
|
||
name = "lang#toml"
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#TYPESCRIPT *SpaceVim-layers-lang-typescript*
|
||
|
||
This layer provides typescript development support for SpaceVim. To enable
|
||
this layer, add following snippet into SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#typescript'
|
||
<
|
||
KEY BINDINGS
|
||
|
||
The following key bindings works well in both vim and neovim.
|
||
>
|
||
Key binding Description
|
||
----------------------------------------
|
||
g D jump to type definition
|
||
SPC l d show document
|
||
SPC l e rename symbol
|
||
SPC l i import
|
||
<
|
||
The following key bindings only work in neovim.
|
||
>
|
||
Key binding Description
|
||
----------------------------------------
|
||
SPC l f run code fix
|
||
SPC l p preview definition
|
||
SPC l t view type
|
||
SPC l R show reference
|
||
SPC l D show errors
|
||
SPC l o organizes imports
|
||
SPC l g d generate JSDoc
|
||
<
|
||
The following key bindings only work in vim.
|
||
>
|
||
Key binding Description
|
||
----------------------------------------
|
||
SPC l m interface implementations
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#V *SpaceVim-layers-lang-v*
|
||
|
||
This layer is for v development, disabled by default, to enable this layer,
|
||
add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#v'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r run current file
|
||
<
|
||
|
||
This layer also provides REPL support for v, 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#VALA *SpaceVim-layers-lang-vala*
|
||
|
||
This layer is for vala development, disabled by default, to enable this layer,
|
||
add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#vala'
|
||
<
|
||
ENABLE LANGUAGE SERVER
|
||
|
||
To enable lsp layer for vala language. you need to install
|
||
vala-language-server, for example, use AUR in Arch Linux.
|
||
>
|
||
yay -S vala-language-server
|
||
<
|
||
If you are using `nvim(>=0.5.0)`. You need to use `enabled_clients` to
|
||
specific the language servers. For example:
|
||
>
|
||
[[layers]]
|
||
name = 'lsp'
|
||
enabled_clients = ['vala_ls']
|
||
<
|
||
If you are using `nvim(<0.5.0)` or `vim`, you need to use `override_cmd`
|
||
option. For example:
|
||
>
|
||
[[layers]]
|
||
name = "lsp"
|
||
filetypes = [
|
||
"vala",
|
||
"genie",
|
||
]
|
||
[layers.override_cmd]
|
||
vala = ["vala-language-server"]
|
||
genie = ["vala-language-server"]
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#VBNET *SpaceVim-layers-lang-vbnet*
|
||
|
||
This layer is for vbnet development, disabled by default, to enable this
|
||
layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#vbnet'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r run current file
|
||
<
|
||
|
||
|
||
==============================================================================
|
||
LANG#VERILOG *SpaceVim-layers-lang-verilog*
|
||
|
||
This layer is for verilog development, disabled by default, to enable this
|
||
layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#verilog'
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#VIM *SpaceVim-layers-lang-vim*
|
||
|
||
This layer is for vim script development, disabled by default, to enable this
|
||
layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#vim'
|
||
<
|
||
|
||
The `checkers` layer provides syntax linter for vim. you need to install the
|
||
`vint` command:
|
||
>
|
||
pip install vim-vint
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
The following key bindings will be added when this layer is loaded:
|
||
>
|
||
key binding Description
|
||
SPC l e eval cursor expr
|
||
SPC l v run HelpfulVersion cword
|
||
SPC l f open exception trace
|
||
g d jump to definition
|
||
<
|
||
|
||
If the lsp layer is enabled for vim script, the following key bindings can be
|
||
used:
|
||
>
|
||
key binding Description
|
||
SPC l e rename symbol
|
||
SPC l x show references
|
||
SPC l h show line diagnostics
|
||
SPC l d show document
|
||
K show document
|
||
SPC l w l list workspace folder
|
||
SPC l w a add workspace folder
|
||
SPC l w r remove workspace folder
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#VUE *SpaceVim-layers-lang-vue*
|
||
|
||
This layer is for vue development, disabled by default, to enable this layer,
|
||
add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#vue'
|
||
<
|
||
|
||
The `checkers` layer provides syntax linter for vue. you need to install the
|
||
`eslint` and `eslint-plugin-vue`:
|
||
>
|
||
npm install -g eslint eslint-plugin-vue
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#WDL *SpaceVim-layers-lang-wdl*
|
||
|
||
This layer provides syntax highlighting for WDL file. and it is disabled by
|
||
default, to enable this layer, add following snippet to your SpaceVim
|
||
configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#wdl'
|
||
<
|
||
|
||
|
||
==============================================================================
|
||
LANG#WOLFRAM *SpaceVim-layers-lang-wolfram*
|
||
|
||
This layer is for wolfram development, disabled by default, to enable this
|
||
layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#wolfram'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r run current file
|
||
<
|
||
|
||
This layer also provides REPL support for wolfram, 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-layers-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.
|
||
|
||
==============================================================================
|
||
LANG#XQUERY *SpaceVim-layers-lang-xquery*
|
||
|
||
This layer provides basic syntax highlighting and indent file for xquery,
|
||
disabled by default, to enable this layer, add following snippet to your
|
||
|SpaceVim-options| file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#xquery'
|
||
<
|
||
|
||
==============================================================================
|
||
LANG#YANG *SpaceVim-layers-lang-yang*
|
||
|
||
This layer adds syntax highlighting for the YANG data file. It is disabled by
|
||
default, to enable this layer, add following snippet to your SpaceVim
|
||
configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#yang'
|
||
<
|
||
|
||
|
||
==============================================================================
|
||
LANG#ZIG *SpaceVim-layers-lang-zig*
|
||
|
||
This layer is for zig language development, disabled by default, to enable
|
||
this layer, add following snippet to your SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'lang#zig'
|
||
<
|
||
|
||
LAYER OPTION
|
||
|
||
1. `ztagsbin`: set the path of ztags, by default this option is `ztags`
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Mode Key Function
|
||
---------------------------------------------
|
||
normal SPC l r run current file
|
||
<
|
||
|
||
This layer also provides REPL support for zig, 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
|
||
<
|
||
|
||
|
||
==============================================================================
|
||
LANGUAGE SERVER PROTOCOL *SpaceVim-layers-lsp*
|
||
|
||
This layer provides language client support for SpaceVim. By default, this
|
||
layer is not loaded. You need to enable this layer with specific clients, for
|
||
example:
|
||
>
|
||
[[layers]]
|
||
name = 'lsp'
|
||
enabled_clients = ['vimls']
|
||
<
|
||
|
||
LAYER OPTIONS
|
||
|
||
The following options can be used with this layer:
|
||
|
||
1. `enabled_clients`: set the enabled servers. This options only for
|
||
neovim 0.5.0+.
|
||
2. `override_cmd`: If you are not using neovim 0.5.0+, use this option to
|
||
set default lsp command.
|
||
|
||
LSP SERVERS
|
||
|
||
The default LSP servers are:
|
||
>
|
||
name Discriptions
|
||
---------------------------------------------------
|
||
vimls vim-language-server
|
||
<
|
||
|
||
==============================================================================
|
||
LEADERF *SpaceVim-layers-leaderf*
|
||
|
||
This layer provides fuzzy finder feature which is based on |leaderf|, and this
|
||
layer requires vim compiled with `+python` or `+python3`. This layer is not
|
||
loaded by default. To use this layer:
|
||
>
|
||
[[layers]]
|
||
name = 'leaderf'
|
||
<
|
||
KEY BINDINGS
|
||
|
||
The following key bindings will be enabled when this layer is loaded:
|
||
>
|
||
Key bindings Description
|
||
SPC p f / Ctrl-p search files in current directory
|
||
<Leader> f SPC Fuzzy find menu:CustomKeyMaps
|
||
<Leader> f e Fuzzy find register
|
||
<Leader> f h Fuzzy find history/yank
|
||
<Leader> f j Fuzzy find jump, change
|
||
<Leader> f l Fuzzy find location list
|
||
<Leader> f m Fuzzy find output messages
|
||
<Leader> f o Fuzzy find functions
|
||
<Leader> f t Fuzzy find tags
|
||
<Leader> f q Fuzzy find quick fix
|
||
<Leader> f r Resumes Unite window
|
||
<
|
||
|
||
==============================================================================
|
||
MAIL *SpaceVim-layers-mail*
|
||
|
||
The `mail` layer provides basic function to connected to mail server. NOTE:
|
||
this layer is still wip now.
|
||
LAYER OPTIONS
|
||
|
||
1. `imap_host`: set the imap server host
|
||
2. `imap_port`: set the imap server port
|
||
3. `imap_login`: set the login of imap server
|
||
4. `imap_password`: set the password of imap server
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Key Bingding Description
|
||
SPC a m open mail client
|
||
<
|
||
|
||
==============================================================================
|
||
OPERATOR *SpaceVim-layers-operator*
|
||
|
||
With this layer, you can confirm that text is yanked correctly and see yanked
|
||
text by highlighting.
|
||
|
||
==============================================================================
|
||
SHELL *SpaceVim-layers-shell*
|
||
|
||
SpaceVim uses deol.nvim for shell support in neovim and uses vimshell for vim.
|
||
For more info, read |deol| and |vimshell|.
|
||
|
||
LAYER OPTIONS
|
||
|
||
1. `default_shell`: config the default shell to be used by shell layer.
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Key bindings Description
|
||
SPC ' Open or switch to terminal windows
|
||
q Hide terminal windows in normal mode
|
||
ctrl-` Hide terminal window in terminal mode
|
||
<
|
||
|
||
==============================================================================
|
||
SSH *SpaceVim-layers-ssh*
|
||
|
||
The `ssh` layer provides basic function to connected to ssh server.
|
||
|
||
LAYER OPTIONS
|
||
|
||
1. `ssh_port`: set the port of ssh server
|
||
2. `ssh_address`: set the ip of ssh server
|
||
3. `ssh_user`: set the user name of ssh server
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Key Bingding Description
|
||
SPC S o connect to ssh server
|
||
<
|
||
|
||
==============================================================================
|
||
TELESCOPE *SpaceVim-layers-telescope*
|
||
|
||
This layer provides fuzzy finder feature which is based on |telescope|, and
|
||
this This layer is not loaded by default. To use this layer:
|
||
>
|
||
[[layers]]
|
||
name = 'telescope'
|
||
<
|
||
KEY BINDINGS
|
||
|
||
The following key bindings will be enabled when this layer is loaded:
|
||
>
|
||
Key bindings Description
|
||
SPC p f / Ctrl-p search files in current directory
|
||
<Leader> f SPC Fuzzy find menu:CustomKeyMaps
|
||
<Leader> f e Fuzzy find register
|
||
<Leader> f h Fuzzy find history/yank
|
||
<Leader> f j Fuzzy find jump, change
|
||
<Leader> f l Fuzzy find location list
|
||
<Leader> f m Fuzzy find output messages
|
||
<Leader> f o Fuzzy find functions
|
||
<Leader> f t Fuzzy find tags
|
||
<Leader> f q Fuzzy find quick fix
|
||
<Leader> f r Resumes Unite window
|
||
<
|
||
|
||
==============================================================================
|
||
TEST *SpaceVim-layers-test*
|
||
|
||
This layer allows to run tests on SpaceVim
|
||
|
||
LAYER OPTIONS
|
||
|
||
`use_ultest`: enable/disable vim-ultest plugin, this is disabled by default.
|
||
|
||
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-layers-tmux*
|
||
|
||
`tmux` layer 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 following to spacevim configuration file:
|
||
>
|
||
[[layers]]
|
||
name = 'tmux'
|
||
<
|
||
If you are having issues with <C-h> in a neovim buffer, see
|
||
|
||
https://github.com/neovim/neovim/issues/2048#issuecomment-78045837
|
||
|
||
LAYER OPTIONS
|
||
|
||
`enable_tmux_clipboard`: this option is used to enable or disable tmux
|
||
clipboard, by default this option is `false`.
|
||
|
||
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-layers-tools-dash*
|
||
|
||
This layer provides Dash integration for SpaceVim
|
||
|
||
==============================================================================
|
||
TOOLS#MPV *SpaceVim-layers-tools-mpv*
|
||
|
||
The `tools#mpv` layer provides mpv integration for SpaceVim. this layer is
|
||
disabled by default, to enable this layer, add following snippet to your
|
||
SpaceVim configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'tools#mpv'
|
||
<
|
||
|
||
LAYER OPTIONS
|
||
|
||
The following options can be used with this layer:
|
||
|
||
1. `mpv_interpreter`: set the path of `mpv`.
|
||
2. `musics_directory`: set the path of directory where to store musics. The
|
||
default directory is `~/Music`
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Key Function
|
||
---------------------------------------------
|
||
SPC m m l fuzzy find musics
|
||
SPC m m n next music
|
||
SPC m m s stop mpv
|
||
<
|
||
|
||
==============================================================================
|
||
TOOLS#SCREENSAVER *SpaceVim-layers-tools-screensaver*
|
||
|
||
This layer provides a screensaver feature.
|
||
>
|
||
[[layers]]
|
||
name = 'tools#screensaver'
|
||
<
|
||
|
||
|
||
==============================================================================
|
||
TOOLS#ZEAL *SpaceVim-layers-tools-zeal*
|
||
|
||
This layer provides Zeal integration for SpaceVim
|
||
|
||
==============================================================================
|
||
TREESITTER *SpaceVim-layers-treesitter*
|
||
|
||
This layer provides treesitter support for SpaceVim.
|
||
|
||
==============================================================================
|
||
UI *SpaceVim-layers-ui*
|
||
|
||
The `ui` layer defines the default interface for SpaceVim, and it is loaded by
|
||
default. This layer includes scrollbar, indentline, and cursorword
|
||
highlighting.
|
||
>
|
||
[[layers]]
|
||
name = 'ui'
|
||
enable_sidebar = false
|
||
enable_scrollbar = false
|
||
enable_indentline = true
|
||
enable_cursorword = false
|
||
indentline_char = '|'
|
||
conceallevel = 0
|
||
concealcursor = ''
|
||
cursorword_delay = 50
|
||
cursorword_exclude_filetype = []
|
||
indentline_exclude_filetype = []
|
||
<
|
||
|
||
if you want to disable `ui` layer, you can use:
|
||
>
|
||
[[layers]]
|
||
name = 'ui'
|
||
enabled = fasle
|
||
<
|
||
OPTIONS
|
||
|
||
1. `enable_sidebar`: Enable/disable sidebar.
|
||
2. `enable_scrollbar`: Enable/disable floating scrollbar of current buffer.
|
||
Disabled by default. This feature requires neovim's floating window.
|
||
3. `enable_indentline`: Enable/disable indentline of current buffer.
|
||
Enabled by default.
|
||
4. `enable_cursorword`: Enable/disable cursorword highlighting.
|
||
Disabled by default.
|
||
5. `indentline_char`: Set the character of indentline.
|
||
6. `conceallevel`: set the conceallevel option.
|
||
7. `concealcursor`: set the concealcursor option.
|
||
8. `cursorword_delay`: The delay duration in milliseconds for setting the
|
||
word highlight after cursor motions, the default is 50.
|
||
9. `cursorword_exclude_filetypes`: Ignore filetypes when enable cursorword
|
||
highlighting.
|
||
10. `indentline_exclude_filetype`: Ignore filetypes when enable indentline.
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Key binding Description
|
||
SPC t h ui current buffer or selection lines
|
||
<
|
||
|
||
|
||
==============================================================================
|
||
UNITE *SpaceVim-layers-unite*
|
||
|
||
This layer provides fuzzy finder feature which is based on |unite|. This layer
|
||
is not loaded by default, to use this layer, you need to load `unite` layer in
|
||
your configuration file.
|
||
>
|
||
[[layers]]
|
||
name = 'unite'
|
||
<
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
| Key bindings | Discription |
|
||
| -------------------- | ----------------------------- |
|
||
| `<Leader> f <Space>` | Fuzzy find menu:CustomKeyMaps |
|
||
| `<Leader> f e` | Fuzzy find register |
|
||
| `<Leader> f h` | Fuzzy find history/yank |
|
||
| `<Leader> f j` | Fuzzy find jump, change |
|
||
| `<Leader> f l` | Fuzzy find location list |
|
||
| `<Leader> f m` | Fuzzy find output messages |
|
||
| `<Leader> f o` | Fuzzy find outline |
|
||
| `<Leader> f q` | Fuzzy find quick fix |
|
||
| `<Leader> f r` | Resumes Unite window |
|
||
<
|
||
|
||
|
||
==============================================================================
|
||
XMAKE *SpaceVim-layers-xmake*
|
||
|
||
The `xmake` layer provides basic function for xmake command. This layer is
|
||
disabled by default, to use it:
|
||
>
|
||
[[layers]]
|
||
name = 'xmake'
|
||
<
|
||
|
||
==============================================================================
|
||
USAGE *SpaceVim-usage*
|
||
|
||
General guide for using SpaceVim. Including layer configuration, bootstrap
|
||
function.
|
||
|
||
==============================================================================
|
||
ALTERNATE FILE *SpaceVim-usage-alternate-file*
|
||
|
||
SpaceVim provides a built-in alternate file manager, the command is `:A`.
|
||
|
||
To use this feature, you can create a `.project_alt.json` file in the root of
|
||
your project. for example:
|
||
>
|
||
{
|
||
"autoload/SpaceVim/layers/lang/*.vim" :
|
||
{
|
||
"doc" : "docs/layers/lang/{}.md"
|
||
},
|
||
}
|
||
<
|
||
after adding this configuration, when edit the source file
|
||
`autoload/SpaceVim/layers/lang/java.vim`, you can use `:A doc` switch to
|
||
`docs/layers/lang/java.md`
|
||
|
||
==============================================================================
|
||
BUFFERS-AND-FILES *SpaceVim-usage-buffers-and-files*
|
||
|
||
BUFFERS MANIPULATION KEY BINDINGS
|
||
All buffers key bindings are start with `b` prefix:
|
||
>
|
||
Key Bindings Descriptions
|
||
SPC <Tab> switch to alternate buffer in the current window (switch
|
||
back and forth)
|
||
SPC b . buffer transient state
|
||
SPC b b switch to a buffer (via denite/unite)
|
||
SPC b d kill the current buffer (does not delete the visited
|
||
file)
|
||
SPC u SPC b d kill the current buffer and window (does not delete the
|
||
visited file) (TODO)
|
||
SPC b D kill a visible buffer using vim-choosewin
|
||
<
|
||
|
||
==============================================================================
|
||
COMMAND-LINE-MODE *SpaceVim-usage-command-line-mode*
|
||
|
||
After pressing `:`, you can switch to command line mode, here is a list of key
|
||
bindings can be used in command line mode:
|
||
>
|
||
Key bindings Descriptions
|
||
Ctrl-a move cursor to beginning
|
||
Ctrl-b Move cursor backward in command line
|
||
Ctrl-f Move cursor forward in command line
|
||
Ctrl-w delete a whole word
|
||
Ctrl-u remove all text before cursor
|
||
Ctrl-k remove all text after cursor
|
||
Ctrl-c/Esc cancel command line mode
|
||
Tab next item in popup menu
|
||
Shift-Tab previous item in popup menu
|
||
<
|
||
|
||
==============================================================================
|
||
CUSTOM_PLUGINS *SpaceVim-usage-custom_plugins*
|
||
|
||
If you want to add custom plugin, use `custom_plugins` section. For example:
|
||
if you want to add https://github.com/vimwiki/vimwiki, add following code into
|
||
your configuration file.
|
||
>
|
||
[[custom_plugins]]
|
||
repo = 'vimwiki/vimwiki'
|
||
merged = false
|
||
<
|
||
Use one custom_plugins for each plugin, example:
|
||
>
|
||
[[custom_plugins]]
|
||
repo = 'vimwiki/vimwiki'
|
||
merged = false
|
||
[[custom_plugins]]
|
||
repo = 'wsdjeg/vim-j'
|
||
merged = false
|
||
<
|
||
|
||
==============================================================================
|
||
REPL *SpaceVim-usage-repl*
|
||
|
||
In language layer, REPL key bindings has been added. To start a REPL process,
|
||
the default key binding is `SPC l s i` . Key bindings for sending code to REPL
|
||
process only support following types: `line`, `selection` and `buffer` . All
|
||
of the key binding is mapped to function `SpaceVim#plugins#repl#send`. The
|
||
first argument is {type}. To send raw string, use `raw` as type, for example:
|
||
>
|
||
call SpaceVim#plugins#repl#send('raw', 'print("hello world!")')
|
||
<
|
||
|
||
>
|
||
<
|
||
|
||
==============================================================================
|
||
SEARCH-AND-REPLACE *SpaceVim-usage-search-and-replace*
|
||
|
||
This section document how to find and replace text in SpaceVim.
|
||
|
||
SEARCHING WITH AN EXTERNAL TOOL
|
||
|
||
SpaceVim can be interfaced with different searching tools like:
|
||
1. rg - ripgrep
|
||
2. ag - the silver searcher
|
||
3. pt - the platinum searcher
|
||
4. ack
|
||
5. grep
|
||
The search commands in SpaceVim are organized under the `SPC s` prefix with
|
||
the next key being the tool to use and the last key is the scope. For
|
||
instance, `SPC s a b` will search in all opened buffers using `ag`.
|
||
|
||
If the `<scope>` is uppercase then the current word under the cursor is used
|
||
as default input for the search. For instance, `SPC s a B` will search for the
|
||
word under the cursor.
|
||
|
||
If the tool key is omitted then a default tool will be automatically selected
|
||
for the search. This tool corresponds to the first tool found on the system
|
||
from the list `search_tools`, the default order is `['rg', 'ag', 'pt', 'ack',
|
||
'grep', 'findstr', 'git']`. For instance `SPC s b` will search in the opened
|
||
buffers using `pt` if `rg` and `ag` have not been found on the system.
|
||
|
||
The tool keys are:
|
||
>
|
||
Tool | Key
|
||
---------|-----
|
||
ag | a
|
||
grep | g
|
||
git grep | G
|
||
ack | k
|
||
rg | r
|
||
pt | t
|
||
<
|
||
The available scopes and corresponding keys are:
|
||
>
|
||
Scope | Key
|
||
---------------------------|-----
|
||
opened buffers | b
|
||
buffer directory | d
|
||
files in a given directory | f
|
||
current project | p
|
||
<
|
||
Instead of using flygrep to search text. SpaceVim also provides a general
|
||
async searcher. The key binding is `SPC s j`, an input promote will be opened.
|
||
After inserting text and press enter. searching results will be displayed in
|
||
quickfix window.
|
||
|
||
==============================================================================
|
||
TASKS *SpaceVim-usage-tasks*
|
||
|
||
To integrate with external tools, SpaceVim introduced a task manager system,
|
||
which is similar to VSCode's tasks-manager. There are two kinds of task
|
||
configurations file:
|
||
|
||
`~/.SpaceVim.d/tasks.toml`: global tasks configuration
|
||
`.SpaceVim.d/tasks.toml`: project local tasks configuration
|
||
|
||
The tasks defined in the global tasks configuration can be overrided by
|
||
project local tasks configuration.
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Key binding Description
|
||
SPC p t l list all available tasks
|
||
SPC p t e edit project tesk
|
||
SPC p t r pick tesk to run
|
||
SPC p t c clear tasks
|
||
<
|
||
|
||
CUSTOM TASK
|
||
This is a basic task configuration for running `echo hello world`, and print
|
||
the results to the runner window.
|
||
>
|
||
[my-task]
|
||
command = 'echo'
|
||
args = ['hello world']
|
||
<
|
||
|
||
To run the task in the background, you need to set `isBackground` to `true`:
|
||
>
|
||
[my-task]
|
||
command = 'echo'
|
||
args = ['hello world']
|
||
isBackground = true
|
||
<
|
||
|
||
The following task properties are available:
|
||
|
||
1. `command`: The actual command to execute.
|
||
2. `args`: The arguments passed to the command, it should be a list of
|
||
strings and may be omitted.
|
||
3. `options`: Override the defaults for `cwd`,`env` or `shell`.
|
||
4. `isBackground`: Specifies whether the task should run in the background.
|
||
by default, it is `false`.
|
||
5. `description`: Short description of the task
|
||
6. `problemMatcher`: Problems matcher of the task
|
||
|
||
Note: When a new task is executed, it will kill the previous task. If you want
|
||
to keep the task, run it in background by setting `isBackground` to `true`.
|
||
|
||
SpaceVim supports variable substitution in the task properties, The following
|
||
predefined variables are supported:
|
||
|
||
`{workspaceFolder}`: The project's root directory
|
||
`{workspaceFolderBasename}`: The name of current project's root directory
|
||
`{file}`: The path of current file
|
||
`{relativeFile}`: The current file relative to project root
|
||
`{relativeFileDirname}`: The current file's dirname relative to
|
||
workspaceFolder
|
||
`{fileBasename}`: The current file's basename
|
||
`{fileBasenameNoExtension}`: The current file's basename without file
|
||
extension
|
||
`{fileDirname}`: The current file's dirname
|
||
`{fileExtname}`: The current file's extension
|
||
`{cwd}`: The task runner's current working directory on startup
|
||
`{lineNumber}`: The current selected line number in the active file
|
||
|
||
For example: Supposing that you have the following requirements:
|
||
|
||
A file located at `/home/your-username/your-project/folder/file.ext` opened in
|
||
your editor; The directory `/home/your-username/your-project` opened as your
|
||
root workspace. So you will have the following values for each variable:
|
||
|
||
`{workspaceFolder}`: `/home/your-username/your-project/`
|
||
`{workspaceFolderBasename}`: `your-project`
|
||
`{file}`: `/home/your-username/your-project/folder/file.ext`
|
||
`{relativeFile}`: `folder/file.ext`
|
||
`{relativeFileDirname}`: `folder/`
|
||
`{fileBasename}`: `file.ext`
|
||
`{fileBasenameNoExtension}`: `file`
|
||
`{fileDirname}`: `/home/your-username/your-project/folder/`
|
||
`{fileExtname}`: `.ext`
|
||
`{lineNumber}`: line number of the cursor
|
||
|
||
TASK PROBLEMS MATCHER
|
||
|
||
Problem matcher is used to capture the message in the task output and show a
|
||
corresponding problem in quickfix windows.
|
||
|
||
`problemMatcher` supports `errorformat` and `pattern` properties.
|
||
|
||
If the `errorformat` property is not defined, the `&errorformat` option will
|
||
be used.
|
||
>
|
||
[test_problemMatcher]
|
||
command = "echo"
|
||
args = ['.SpaceVim.d/tasks.toml:6:1 test error message']
|
||
isBackground = true
|
||
[test_problemMatcher.problemMatcher]
|
||
useStdout = true
|
||
errorformat = '%f:%l:%c\ %m'
|
||
<
|
||
|
||
If `pattern` is defined, the `errorformat` option will be ignored. Here is an
|
||
example:
|
||
>
|
||
[test_regexp]
|
||
command = "echo"
|
||
args = ['.SpaceVim.d/tasks.toml:12:1 test error message']
|
||
isBackground = true
|
||
[test_regexp.problemMatcher]
|
||
useStdout = true
|
||
[test_regexp.problemMatcher.pattern]
|
||
regexp = '\(.*\):\(\d\+\):\(\d\+\)\s\(\S.*\)'
|
||
file = 1
|
||
line = 2
|
||
column = 3
|
||
#severity = 4
|
||
message = 4
|
||
<
|
||
|
||
TASK AUTO-DETECTION
|
||
|
||
Currently, SpaceVim can auto-detect tasks for npm. the tasks manager will
|
||
parse the `package.json` file for npm packages.
|
||
|
||
TASK PROVIDER
|
||
|
||
Some tasks can be automatically detected by the task provider. For example, a
|
||
Task Provider could check if there is a specific build file, such as
|
||
`package.json`, and create npm tasks.
|
||
|
||
To build a task provider, you need to use the Bootstrap function. The task
|
||
provider should be a vim function that returns a task object.
|
||
|
||
here is an example for building a task provider.
|
||
|
||
|
||
>
|
||
function! s:make_tasks() abort
|
||
if filereadable('Makefile')
|
||
let subcmds = filter(readfile('Makefile', ''), "v:val=~#'^.PHONY'")
|
||
let conf = {}
|
||
for subcmd in subcmds
|
||
let commands = split(subcmd)[1:]
|
||
for cmd in commands
|
||
call extend(conf, {
|
||
\ cmd : {
|
||
\ 'command': 'make',
|
||
\ 'args' : [cmd],
|
||
\ 'isDetected' : 1,
|
||
\ 'detectedName' : 'make:'
|
||
\ }
|
||
\ })
|
||
endfor
|
||
endfor
|
||
return conf
|
||
else
|
||
return {}
|
||
endif
|
||
endfunction
|
||
call SpaceVim#plugins#tasks#reg_provider(function('s:make_tasks'))
|
||
<
|
||
|
||
With the above configuration, you will see the following tasks in the SpaceVim
|
||
repo:
|
||
|
||
==============================================================================
|
||
UNDO-TREE *SpaceVim-usage-undotree*
|
||
|
||
Undo tree visualizes the undo history and makes it easier to browse and switch
|
||
between different undo branches.The default key binding is `F7`. If `+python`
|
||
or `+python3` is enabled, `vim-mundo` will be used, otherwise `undotree` will
|
||
be used.
|
||
|
||
Key bindings within undo tree windows:
|
||
>
|
||
key bindings description
|
||
`G` move bottom
|
||
`J` move older write
|
||
`K` move newer write
|
||
`N` previous match
|
||
`P` play to
|
||
`<2-LeftMouse>` mouse click
|
||
`/` search
|
||
`<CR>` preview
|
||
`d` diff
|
||
`<down>` move older
|
||
`<up>` move newer
|
||
`i` toggle inline
|
||
`j` move older
|
||
`k` move newer
|
||
`n` next match
|
||
`o` preview
|
||
`p` diff current buffer
|
||
`q` quit
|
||
`r` diff
|
||
`gg` move top
|
||
`?` toggle help
|
||
<
|
||
|
||
==============================================================================
|
||
WINDOWS-AND-TABS *SpaceVim-usage-windows-and-tabs*
|
||
|
||
WINDOWS RELATED KEY BINDINGS
|
||
Window manager key bindings can only be used in normal mode. The default
|
||
leader `[WIN]` is `s`, you can change it via `windows_leader` option:
|
||
>
|
||
[options]
|
||
windows_leader = "s"
|
||
<
|
||
The following key bindings can be used to manager vim windows and tabs.
|
||
>
|
||
Key Bindings | Descriptions
|
||
------------ | --------------------------------------------------
|
||
q | Smart buffer close
|
||
WIN v | :split
|
||
WIN V | Split with previous buffer
|
||
WIN g | :vsplit
|
||
WIN G | Vertically split with previous buffer
|
||
WIN t | Open new tab (:tabnew)
|
||
WIN o | Close other windows (:only)
|
||
WIN x | Remove buffer, leave blank window
|
||
WIN q | Remove current buffer
|
||
WIN Q | Close current buffer (:close)
|
||
Shift-Tab | Switch to alternate window (switch back and forth)
|
||
<
|
||
|
||
==============================================================================
|
||
PLUGINS *SpaceVim-plugins*
|
||
|
||
This is a list of builtin plugins.
|
||
|
||
==============================================================================
|
||
AUTOSAVE *SpaceVim-plugins-autosave*
|
||
|
||
The `autosave` plugin will save your work automatically, and this plugin has
|
||
been used in `edit` layer, checkout |SpaceVim-layers-edit| for more info.
|
||
|
||
==============================================================================
|
||
IEDIT *SpaceVim-plugins-iedit*
|
||
|
||
The `iedit` plugin provides multiple cursor support for SpaceVim.
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Key binding Description
|
||
SPC s e string iedit mode
|
||
<
|
||
|
||
After starting iedit, the following key bindings can be used:
|
||
>
|
||
Mode Key binding Description
|
||
Iedit-Normal a start iedit-insert mode after cursor
|
||
Iedit-Normal e forward to the end of word
|
||
Iedit-Normal w forward to the begin of next word
|
||
Iedit-Normal b move to the begin of current word
|
||
Iedit-Normal Ctrl-n forward and active next match
|
||
Iedit-Normal Ctrl-x inactivate current match and move forward
|
||
Iedit-Normal Ctrl-p inactivate current match and move backward
|
||
<
|
||
|
||
==============================================================================
|
||
RUNNER *SpaceVim-plugins-runner*
|
||
|
||
The `code runner` plugin provides the ability to run code snippet or code file
|
||
for a variety of programming languages, as well as running custom commands.
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Key binding Description
|
||
SPC s r start default code runner
|
||
q close coder runner window
|
||
i insert text to background process
|
||
<
|
||
|
||
DEFINED A RUNNER
|
||
|
||
1. The runner can be a string. which will be running directly.
|
||
|
||
2. The runner also can be a list with two items. each item has following
|
||
structure.
|
||
|
||
|
||
>
|
||
{
|
||
"exe" : String,
|
||
"opt" : a List of arguments,
|
||
"targetopt" : String, the target option,
|
||
"usestdin" : Bollean,
|
||
}
|
||
<
|
||
|
||
==============================================================================
|
||
TAB MANAGER *SpaceVim-plugins-tabmanager*
|
||
|
||
The `tabmanager` plugin provides tab manager support for SpaceVim.
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Key binding Description
|
||
SPC t t open tab manager windows
|
||
<
|
||
|
||
In the tab manager windows, the following key bindings can be used:
|
||
>
|
||
Key binding Description
|
||
---------------------------
|
||
q close tab manager
|
||
o toggle tab
|
||
r rename tabpage
|
||
n create new named tabpage
|
||
N create new unamed tabpage
|
||
x delete tabpage
|
||
yy copy tabpage
|
||
p paste tabpage
|
||
Ctrl-Shift-Up move tabpage backward
|
||
Ctrl-Shift-Down move tabpage forward
|
||
<
|
||
|
||
==============================================================================
|
||
TODO MANAGER *SpaceVim-plugins-todomanager*
|
||
|
||
The `todomanager` plugin provides todo manager support for SpaceVim.
|
||
|
||
KEY BINDINGS
|
||
|
||
>
|
||
Key binding Description
|
||
SPC a o open todo manager windows
|
||
<
|
||
|
||
CONFIGURATION
|
||
|
||
The todo manager labels can be set via |SpaceVim-options-todo_labels|
|
||
|
||
==============================================================================
|
||
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
|
||
|
||
==============================================================================
|
||
CLOCK *SpaceVim-api-clock*
|
||
|
||
The `clock` api provides basic functions to manage clock. The following
|
||
functions can be used:
|
||
|
||
`start()`: start a new clock.
|
||
`pause()`: pause current clock.
|
||
`continue()`: continue current clock.
|
||
`end()`: stop current clock, and return the time.
|
||
|
||
Example:
|
||
>
|
||
let s:CLOCK = SpaceVim#api#import('clock')
|
||
call s:CLOCK.start()
|
||
" do something
|
||
echo s:CLOCK.end()
|
||
<
|
||
|
||
==============================================================================
|
||
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.
|
||
|
||
Example:
|
||
>
|
||
<
|
||
let menu = SpaceVim#api#import('cmdlinemenu') let ques = [ \ ['basic
|
||
mode', function('s:basic_mode')], \ ['dark powered mode',
|
||
function('s:awesome_mode')], \ ] call menu.menu(ques) <
|
||
|
||
==============================================================================
|
||
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}
|
||
|
||
clear({list})
|
||
|
||
clear items in the {list}
|
||
|
||
char_range({from}, {to})
|
||
|
||
return a characters list based on the ascii number range.
|
||
|
||
==============================================================================
|
||
DATA#NUMBER *SpaceVim-api-data-number*
|
||
|
||
data#number API provides some basic functions to generate number.
|
||
|
||
random([{a}[, {b}]])
|
||
>
|
||
random() : an unbounded random integer number.
|
||
random(a) : an unbounded random number larger than a.
|
||
random(a, b) : a random number from [a, a + b - 1].
|
||
<
|
||
|
||
==============================================================================
|
||
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.
|
||
|
||
==============================================================================
|
||
FILE *SpaceVim-api-file*
|
||
|
||
The `file` api provides basic functions to manage file. The following
|
||
functions can be used:
|
||
|
||
`fticon(path)`: get the filetype icon of path
|
||
`write(msg, fname)`: append msg to fname.
|
||
`override(msg, fname)`: override fname with msg.
|
||
`read(fname)`: read the context of fname.
|
||
`ls(dir, if_file_only)`: list files and directories in dir
|
||
`updatefiles(files)`: update all files
|
||
`unify_path(path, ...)`: unify the format of path
|
||
`path_to_fname(path)`: get unify string of a path.
|
||
`findfile(pattern, dir)`: find path match pattern in dir.
|
||
`finddir(pattern, dir)`: find directory match pattern in dir
|
||
|
||
Example:
|
||
>
|
||
let s:FILE = SpaceVim#api#import('file')
|
||
<
|
||
|
||
==============================================================================
|
||
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.
|
||
|
||
==============================================================================
|
||
NOTIFY *SpaceVim-api-notify*
|
||
|
||
The notification api for SpaceVim
|
||
|
||
notify({msg} [, {Color}[, {option}]])
|
||
|
||
Use floating windows to display notification {msg}. The {msg} should a no
|
||
empty string. {Color} is the name of highlight ground defined in Vim. The
|
||
{option} is a dictionary which support following key:
|
||
|
||
`winblend`: enable transparency for the notify windows. Valid values are in
|
||
the range of 0 to 100. Default is 0.
|
||
|
||
NOTE: Floating windows support pseudo-transparency (:help 'winblend') in
|
||
#neovim HEAD (v0.4.x).
|
||
|
||
|
||
==============================================================================
|
||
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.
|
||
|
||
==============================================================================
|
||
TIME *SpaceVim-api-time*
|
||
|
||
`time` api provides basic functions to get time information.
|
||
|
||
current_time()
|
||
|
||
get current time, the format is `%I:%M %p`
|
||
|
||
current_date()
|
||
|
||
get current date, the format is `%a %b %d`
|
||
|
||
==============================================================================
|
||
UNICODE#BOX *SpaceVim-api-unicode-box*
|
||
|
||
provides some functions to draw box and table.
|
||
|
||
drawing_table({json}[, {keys}])
|
||
|
||
drawing table with json data.
|
||
|
||
|
||
==============================================================================
|
||
VIM#BUFFER *SpaceVim-api-vim-buffer*
|
||
|
||
INTRO
|
||
|
||
vim#buffer API provides some basic functions for setting and getting config of
|
||
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 creating 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*
|
||
|
||
`vim#message` API provide functions for generating colored message in vim's
|
||
command line.
|
||
>
|
||
let s:MSG = SpaceVim#api#import('vim#message')
|
||
call s:MSG.echo('WarningMsg', 'hello world!')
|
||
<
|
||
FUNCTIONS
|
||
|
||
echo({hi}, {msg})
|
||
|
||
print message with {hi} highlight group. The {msg} starts on a new line.
|
||
|
||
echon({hi}, {msg})
|
||
|
||
print message with {hi} highlight group. The {msg} will be displayed
|
||
without anything added.
|
||
|
||
echomsg({hi}, {msg})
|
||
|
||
print message with {hi} highlight group. The {msg} starts on a new line.
|
||
The {msg} also will be added to `:messages` history.
|
||
|
||
error({msg})
|
||
|
||
same as `echomsg('Error', {msg})`
|
||
|
||
warn({msg})
|
||
|
||
same as `echomsg('WarningMsg', {msg})`
|
||
|
||
confirm({msg})
|
||
|
||
promote a confirm message, accept user input `y/n`.
|
||
|
||
==============================================================================
|
||
VIM#WINDOW *SpaceVim-api-vim-window*
|
||
|
||
INTRO
|
||
|
||
`vim#window` API provides some basic functions for setting and getting config
|
||
of vim window.
|
||
|
||
FUNCTIONS
|
||
|
||
get_cursor({winid})
|
||
|
||
Gets the cursor position in the window {winid}, to get the ID of a window,
|
||
checkout |window-ID|.
|
||
|
||
set_cursor({winid}, {pos})
|
||
|
||
Sets the cursor position to {pos} in the window {winid}.
|
||
|
||
is_float({winid})
|
||
|
||
Check if the window is a floating windows, return `v:true` if the window
|
||
is a floating window.
|
||
|
||
winexists({winid})
|
||
|
||
Check if the window with {winid} exists in current tabpage.
|
||
|
||
==============================================================================
|
||
DEVELOPMENT *SpaceVim-dev*
|
||
|
||
|
||
SpaceVim is a joint effort of all contributors. We encourage you to
|
||
participate in SpaceVim's development. We have some guidelines that we need
|
||
all contributors to follow.
|
||
|
||
==============================================================================
|
||
COMMIT-STYLE-GUIDE *SpaceVim-dev-commit-style-guide*
|
||
|
||
A git commit message consists a three distinct parts separated by black line.
|
||
>
|
||
Type (scope): Subject
|
||
|
||
body
|
||
|
||
footer
|
||
<
|
||
types:
|
||
|
||
`feat`: a new feature
|
||
`fix`: a bug fix
|
||
`change`: no backward compatible changes
|
||
`docs`: changes to documentation
|
||
`style`: formatting, missing semi colons, etc; no code change
|
||
`refactor`: refactoring production code
|
||
`test`: adding tests, refactoring test; no production code change
|
||
`chore`: updating build tasks, package manager configs, etc; no production
|
||
code change
|
||
|
||
scopes:
|
||
|
||
`api`: files in `autoload/SpaceVim/api/` and `docs/api/` directory
|
||
`layer`: files in `autoload/SpaceVim/layers/` and `docs/layers/` directory
|
||
`plugin`: files in `autoload/SpaceVim/plugins/` directory
|
||
`bundle`: files in `bundle/` directory
|
||
`core`: other files in this repository
|
||
|
||
subject:
|
||
|
||
Subjects should be no greater than 50 characters, should begin with a capital
|
||
letter and do not end with a period.
|
||
|
||
Use an imperative tone to describe what a commit does, rather than what it
|
||
did. For example, use change; not changed or changes.
|
||
|
||
body:
|
||
|
||
Not all commits are complex enough to warrant a body, therefore it is optional
|
||
and only used when a commit requires a bit of explanation and context.
|
||
|
||
footer:
|
||
|
||
The footer is optional and is used to reference issue tracker IDs.
|
||
|
||
==============================================================================
|
||
FAQ *SpaceVim-faq*
|
||
|
||
This is a list of the frequently asked questions about SpaceVim.
|
||
|
||
1. How do I enable YouCompleteMe?
|
||
|
||
Step 1: Add `enable_ycm = true` to custom_config. By default it should be
|
||
`~/.SpaceVim.d/init.toml`.
|
||
|
||
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. This can be changed
|
||
by |SpaceVim-options-snippet_engine| option.
|
||
|
||
If you want to add a snippet for a current filetype, run |:NeoSnippetEdit|
|
||
command. A buffer will be opened and you can add your custom snippet. By
|
||
default this buffer will be save in `~/.SpaceVim.d/snippets`.
|
||
|
||
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 g:mapleader = "\<Space>"` to bootstrap function.
|
||
|
||
5. Why does Vim freeze after pressing Ctrl-s?
|
||
|
||
This is a feature of terminal emulators. You can use `Ctrl-q` to unfreeze
|
||
Vim. To disable this feature you need the following in either
|
||
`~/.bash_profile` or `~/.bashrc`:
|
||
>
|
||
stty -ixon
|
||
<
|
||
|
||
6. How to enable `+py` and `+py3` in Neovim?
|
||
|
||
In Neovim we can use `g:python_host_prog` and `g:python3_host_prog` to
|
||
config python prog. But in SpaceVim the custom configuration file is loaded
|
||
after SpaceVim core code. So in SpaceVim itself, if we using `:py` command,
|
||
it may cause errors.
|
||
|
||
So we introduce two new environment variables: `PYTHON_HOST_PROG` and
|
||
`PYTHON3_HOST_PROG`.
|
||
|
||
For example:
|
||
>
|
||
export PYTHON_HOST_PROG='/home/q/envs/neovim2/bin/python'
|
||
export PYTHON3_HOST_PROG='/home/q/envs/neovim3/bin/python'
|
||
<
|
||
|
||
==============================================================================
|
||
CHANGELOG *SpaceVim-changelog*
|
||
|
||
Following HEAD: changes in master branch since last release v2.0.0
|
||
|
||
https://github.com/SpaceVim/SpaceVim/wiki/Following-HEAD
|
||
|
||
2022-07-02: v2.0.0
|
||
|
||
https://spacevim.org/SpaceVim-release-v2.0.0/
|
||
|
||
2021-06-16: v1.9.0
|
||
|
||
https://spacevim.org/SpaceVim-release-v1.9.0/
|
||
|
||
2021-06-16: v1.8.0
|
||
|
||
https://spacevim.org/SpaceVim-release-v1.8.0/
|
||
|
||
2021-06-16: v1.7.0
|
||
|
||
https://spacevim.org/SpaceVim-release-v1.7.0/
|
||
|
||
2020-12-31: v1.6.0
|
||
|
||
https://spacevim.org/SpaceVim-release-v1.6.0/
|
||
|
||
2020-08-01: v1.5.0
|
||
|
||
https://spacevim.org/SpaceVim-release-v1.5.0/
|
||
|
||
2020-04-05: v1.4.0
|
||
|
||
https://spacevim.org/SpaceVim-release-v1.4.0/
|
||
|
||
2019-11-04: v1.3.0
|
||
|
||
https://spacevim.org/SpaceVim-release-v1.3.0/
|
||
|
||
2019-07-17: v1.2.0
|
||
|
||
https://spacevim.org/SpaceVim-release-v1.2.0/
|
||
|
||
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:
|