diff --git a/doc/SpaceVim.txt b/doc/SpaceVim.txt index e69de29bb..74f5be199 100644 --- a/doc/SpaceVim.txt +++ b/doc/SpaceVim.txt @@ -0,0 +1,4059 @@ +*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. buffer_index_type................|SpaceVim-options-buffer_index_type| + 4. checkinstall..........................|SpaceVim-options-checkinstall| + 5. colorscheme............................|SpaceVim-options-colorscheme| + 6. colorscheme_bg......................|SpaceVim-options-colorscheme_bg| + 7. data_dir..................................|SpaceVim-options-data_dir| + 8. default_custom_leader........|SpaceVim-options-default_custom_leader| + 9. default_indent......................|SpaceVim-options-default_indent| + 10. enable_bepo_layout.............|SpaceVim-options-enable_bepo_layout| + 11. enable_cursorcolumn...........|SpaceVim-options-enable_cursorcolumn| + 12. enable_cursorline...............|SpaceVim-options-enable_cursorline| + 13. enable_debug.........................|SpaceVim-options-enable_debug| + 14. enable_googlesuggest.........|SpaceVim-options-enable_googlesuggest| + 15. enable_guicolors.................|SpaceVim-options-enable_guicolors| + 16. enable_key_frequency.........|SpaceVim-options-enable_key_frequency| + 17. enable_projects_cache.......|SpaceVim-options-enable_projects_cache| + 18. enable_statusline_bfpath.|SpaceVim-options-enable_statusline_bfpath| + 19. enable_statusline_mode.....|SpaceVim-options-enable_statusline_mode| + 20. enable_statusline_tag.......|SpaceVim-options-enable_statusline_tag| + 21. enable_tabline_ft_icon.....|SpaceVim-options-enable_tabline_ft_icon| + 22. enable_vimfiler_welcome...|SpaceVim-options-enable_vimfiler_welcome| + 23. enable_ycm.............................|SpaceVim-options-enable_ycm| + 24. error_symbol.........................|SpaceVim-options-error_symbol| + 25. escape_key_binding.............|SpaceVim-options-escape_key_binding| + 26. filemanager...........................|SpaceVim-options-filemanager| + 27. filetree_direction.............|SpaceVim-options-filetree_direction| + 28. guifont...................................|SpaceVim-options-guifont| + 29. home_files_number...............|SpaceVim-options-home_files_number| + 30. info_symbol...........................|SpaceVim-options-info_symbol| + 31. keep_server_alive...............|SpaceVim-options-keep_server_alive| + 32. language.................................|SpaceVim-options-language| + 33. lint_engine...........................|SpaceVim-options-lint_engine| + 34. lint_on_the_fly...................|SpaceVim-options-lint_on_the_fly| + 35. max_column.............................|SpaceVim-options-max_column| + 36. plugin_bundle_dir...............|SpaceVim-options-plugin_bundle_dir| + 37. plugin_manager_processes.|SpaceVim-options-plugin_manager_processes| + 38. project_rooter_automatically +...............................|SpaceVim-options-project_rooter_automatically| + 39. project_rooter_outermost.|SpaceVim-options-project_rooter_outermost| + 40. project_rooter_patterns...|SpaceVim-options-project_rooter_patterns| + 41. projects_cache_num.............|SpaceVim-options-projects_cache_num| + 42. realtime_leader_guide.......|SpaceVim-options-realtime_leader_guide| + 43. relativenumber.....................|SpaceVim-options-relativenumber| + 44. retry_cnt...............................|SpaceVim-options-retry_cnt| + 45. search_tools.........................|SpaceVim-options-search_tools| + 46. sidebar_width.......................|SpaceVim-options-sidebar_width| + 47. snippet_engine.....................|SpaceVim-options-snippet_engine| + 48. statusline_iseparator.......|SpaceVim-options-statusline_iseparator| + 49. statusline_left_sections.|SpaceVim-options-statusline_left_sections| + 50. statusline_separator.........|SpaceVim-options-statusline_separator| + 51. statusline_unicode_symbols +.................................|SpaceVim-options-statusline_unicode_symbols| + 52. terminal_cursor_shape.......|SpaceVim-options-terminal_cursor_shape| + 53. vim_help_language...............|SpaceVim-options-vim_help_language| + 54. vimcompatible.......................|SpaceVim-options-vimcompatible| + 55. warning_symbol.....................|SpaceVim-options-warning_symbol| + 56. windows_index_type.............|SpaceVim-options-windows_index_type| + 57. windows_leader.....................|SpaceVim-options-windows_leader| + 58. windows_smartclose.............|SpaceVim-options-windows_smartclose| + 3. Configuration...........................................|SpaceVim-config| + 4. Commands..............................................|SpaceVim-commands| + 5. Functions............................................|SpaceVim-functions| + 6. Layers..................................................|SpaceVim-layers| + 1. autocomplete..................................|SpaceVim-autocomplete| + 2. checkers....................................|SpaceVim-layer-checkers| + 3. colorscheme....................................|SpaceVim-colorscheme| + 4. core#statusline......................|SpaceVim-layer-core-statusline| + 5. core#tabline............................|SpaceVim-layer-core-tabline| + 6. exprfold....................................|SpaceVim-layer-exprfold| + 7. format........................................|SpaceVim-layer-format| + 8. github........................................|SpaceVim-layer-github| + 9. incsearch..................................|SpaceVim-layer-incsearch| + 10. indentmove...............................|SpaceVim-layer-indentmove| + 11. lang#actionscript.................|SpaceVim-layer-lang-actionscript| + 12. lang#agda.................................|SpaceVim-layer-lang-agda| + 13. lang#asciidoc.........................|SpaceVim-layer-lang-asciidoc| + 14. lang#asepctj...........................|SpaceVim-layer-lang-asepctj| + 15. lang#batch...............................|SpaceVim-layer-lang-batch| + 16. lang#c.......................................|SpaceVim-layer-lang-c| + 17. lang#chapel.............................|SpaceVim-layer-lang-chapel| + 18. lang#clojure...........................|SpaceVim-layer-lang-clojure| + 19. lang#coffeescript.................|SpaceVim-layer-lang-coffeescript| + 20. lang#crystal...........................|SpaceVim-layer-lang-crystal| + 21. lang#csharp.............................|SpaceVim-layer-lang-csharp| + 22. lang#d.......................................|SpaceVim-layer-lang-d| + 23. lang#dart.................................|SpaceVim-layer-lang-dart| + 24. lang#dockerfile.....................|SpaceVim-layer-lang-dockerfile| + 25. lang#eiffel.............................|SpaceVim-layer-lang-eiffel| + 26. lang#elixir.............................|SpaceVim-layer-lang-elixir| + 27. lang#elm...................................|SpaceVim-layer-lang-elm| + 28. lang#erlang.............................|SpaceVim-layer-lang-erlang| + 29. lang#extra...............................|SpaceVim-layer-lang-extra| + 30. lang#foxpro.............................|SpaceVim-layer-lang-foxpro| + 31. lang#fsharp.............................|SpaceVim-layer-lang-fsharp| + 32. lang#go.....................................|SpaceVim-layer-lang-go| + 33. lang#goby.................................|SpaceVim-layer-lang-goby| + 34. lang#gosu.................................|SpaceVim-layer-lang-gosu| + 35. lang#graphql...........................|SpaceVim-layer-lang-graphql| + 36. lang#groovy.............................|SpaceVim-layer-lang-groovy| + 37. lang#hack.................................|SpaceVim-layer-lang-hack| + 38. lang#haskell...........................|SpaceVim-layer-lang-haskell| + 39. lang#html.................................|SpaceVim-layer-lang-html| + 40. lang#hy.....................................|SpaceVim-layer-lang-hy| + 41. lang#idris...............................|SpaceVim-layer-lang-idris| + 42. lang#j.......................................|SpaceVim-layer-lang-j| + 43. lang#janet...............................|SpaceVim-layer-lang-janet| + 44. lang#java.................................|SpaceVim-layer-lang-java| + 45. lang#javascript.....................|SpaceVim-layer-lang-javascript| + 46. lang#json.................................|SpaceVim-layer-lang-json| + 47. lang#julia...............................|SpaceVim-layer-lang-julia| + 48. lang#kotlin.............................|SpaceVim-layer-lang-kotlin| + 49. lang#lisp.................................|SpaceVim-layer-lang-lisp| + 50. lang#livescript.....................|SpaceVim-layer-lang-livescript| + 51. lang#lua...................................|SpaceVim-layer-lang-lua| + 52. lang#moonscript.....................|SpaceVim-layer-lang-moonscript| + 53. lang#nim...................................|SpaceVim-layer-lang-nim| + 54. lang#nix...................................|SpaceVim-layer-lang-nix| + 55. lang#ocaml...............................|SpaceVim-layer-lang-ocaml| + 56. lang#pact.................................|SpaceVim-layer-lang-pact| + 57. lang#php...................................|SpaceVim-layer-lang-php| + 58. lang#pony.................................|SpaceVim-layer-lang-pony| + 59. lang#processing.....................|SpaceVim-layer-lang-processing| + 60. lang#prolog.............................|SpaceVim-layer-lang-prolog| + 61. lang#puppet.............................|SpaceVim-layer-lang-puppet| + 62. lang#python.............................|SpaceVim-layer-lang-python| + 63. lang#racket.............................|SpaceVim-layer-lang-racket| + 64. lang#racket................................|SpaceVim-layer-lang-red| + 65. lang#ring....................................|SpaceVim-layer-lang-r| + 66. lang#ring.................................|SpaceVim-layer-lang-ring| + 67. lang#ruby.................................|SpaceVim-layer-lang-ruby| + 68. lang#rust.................................|SpaceVim-layer-lang-rust| + 69. lang#scala...............................|SpaceVim-layer-lang-scala| + 70. lang#scheme.............................|SpaceVim-layer-lang-scheme| + 71. lang#sh.....................................|SpaceVim-layer-lang-sh| + 72. lang#sml...................................|SpaceVim-layer-lang-sml| + 73. lang#swig................................|SpaceVim-layer-lang-swift| + 74. lang#swig.................................|SpaceVim-layer-lang-swig| + 75. lang#tcl...................................|SpaceVim-layer-lang-tcl| + 76. lang#toml.................................|SpaceVim-layer-lang-toml| + 77. lang#typescript.....................|SpaceVim-layer-lang-typescript| + 78. lang#v.......................................|SpaceVim-layer-lang-v| + 79. lang#vbnet...............................|SpaceVim-layer-lang-vbnet| + 80. lang#xml...................................|SpaceVim-layer-lang-xml| + 81. lang#xquery.............................|SpaceVim-layer-lang-xquery| + 82. language server protocol........................|SpaceVim-layer-lsp| + 83. leaderf.....................................|SpaceVim-layer-leaderf| + 84. operator...................................|SpaceVim-layer-operator| + 85. shell.........................................|SpaceVim-layer-shell| + 86. test...........................................|SpaceVim-layer-test| + 87. tmux...........................................|SpaceVim-layer-tmux| + 88. tools#dash...............................|SpaceVim-layer-tools-dash| + 89. tools#zeal...............................|SpaceVim-layer-tools-zeal| + 7. Usage....................................................|SpaceVim-usage| + 1. custom_plugins........................|SpaceVim-usage-custom_plugins| + 2. repl............................................|SpaceVim-usage-repl| + 3. tasks..........................................|SpaceVim-usage-tasks| + 8. API........................................................|SpaceVim-api| + 1. cmdlinemenu................................|SpaceVim-api-cmdlinemenu| + 2. data#dict....................................|SpaceVim-api-data-dict| + 3. data#list....................................|SpaceVim-api-data-list| + 4. data#number................................|SpaceVim-api-data-number| + 5. data#string................................|SpaceVim-api-data-string| + 6. job................................................|SpaceVim-api-job| + 7. logger..........................................|SpaceVim-api-logger| + 8. password......................................|SpaceVim-api-password| + 9. prompt..........................................|SpaceVim-api-prompt| + 10. sid...........................................|SpaceVim-api-vim-sid| + 11. system.........................................|SpaceVim-api-system| + 12. unicode#box...............................|SpaceVim-api-unicode-box| + 13. vim#buffer.................................|SpaceVim-api-vim-buffer| + 14. vim#buffer.................................|SpaceVim-api-vim-window| + 15. vim#command...............................|SpaceVim-api-vim-command| + 16. vim#compatible.........................|SpaceVim-api-vim-compatible| + 17. vim#message...............................|SpaceVim-api-vim-message| + 9. FAQ........................................................|SpaceVim-faq| + 10. 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. + +============================================================================== +AUTOCOMPLETE_PARENS *SpaceVim-options-autocomplete_parens* + +Enable/Disable autocompletion of parentheses, default is true (enabled). +> + autocomplete_parens = false +< + +============================================================================== +BUFFER_INDEX_TYPE *SpaceVim-options-buffer_index_type* + +Set SpaceVim buffer index type, default is 4. +> + # types: + # 0: 1 ➛ ➊ + # 1: 1 ➛ ➀ + # 2: 1 ➛ ⓵ + # 3: 1 ➛ ¹ + # 4: 1 ➛ 1 + buffer_index_type = 1 +< + +============================================================================== +CHECKINSTALL *SpaceVim-options-checkinstall* + +Enable/Disable checkinstall on SpaceVim startup. Default is true. +> + checkinstall = true +< + +============================================================================== +COLORSCHEME *SpaceVim-options-colorscheme* + +The colorscheme of SpaceVim. Default is 'gruvbox'. + +============================================================================== +COLORSCHEME_BG *SpaceVim-options-colorscheme_bg* + +The background of colorscheme. Default is 'dark'. + +============================================================================== +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 . +> + default_custom_leader = "" +< + +============================================================================== +DEFAULT_INDENT *SpaceVim-options-default_indent* + +Change the default indentation of SpaceVim. Default is 2. +> + default_indent = 2 +< + +============================================================================== +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_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' +< + +============================================================================== +FILEMANAGER *SpaceVim-options-filemanager* + +The default file manager of SpaceVim. Default is 'vimfiler'. you can also use +nerdtree or defx + +============================================================================== +FILETREE_DIRECTION *SpaceVim-options-filetree_direction* + +Config the direction of file tree. Default is 'right'. you can also set to +'left'. + +NOTE: if it is 'left', the tagbar will be move to right. + +============================================================================== +GUIFONT *SpaceVim-options-guifont* + +Set the guifont of SpaceVim. Default is empty. +> + guifont = "SauceCodePro Nerd Font Mono:h11" +< + +============================================================================== +HOME_FILES_NUMBER *SpaceVim-options-home_files_number* + +Change the list number of files for SpaceVim home. Default is 6. +> + home_files_number = 6 +< + +============================================================================== +INFO_SYMBOL *SpaceVim-options-info_symbol* + +Set the information symbol for SpaceVim's syntax maker. Default is '🛈'. +> + info_symbol = 'i' +< + +============================================================================== +KEEP_SERVER_ALIVE *SpaceVim-options-keep_server_alive* + +Option for keep the spacevim server ailive + +============================================================================== +LANGUAGE *SpaceVim-options-language* + +Set the message language of vim. Default is 'en_US.UTF-8'. +> + language = 'en_CA.utf8' +< + +============================================================================== +LINT_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 +< + +============================================================================== +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_ROOTER_AUTOMATICALLY *SpaceVim-options-project_rooter_automatically* + +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_rooter_automatically = false +< + +============================================================================== +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 vimfiler. + +============================================================================== +SNIPPET_ENGINE *SpaceVim-options-snippet_engine* + +Set the snippet engine of SpaceVim, default is neosnippet. to enable +ultisnips: +> + snippet_engine = "ultisnips" +< + +============================================================================== +STATUSLINE_ISEPARATOR *SpaceVim-options-statusline_iseparator* + +Set the statusline separators of statusline in inactive windows, default is +'nil' +> + Separators options: + 1. arrow + 2. curve + 3. slant + 4. nil + 5. fire +< + +See more details in: http://spacevim.org/documentation/#statusline + + +============================================================================== +STATUSLINE_LEFT_SECTIONS *SpaceVim-options-statusline_left_sections* + +Define the left section of statusline in active windows. By default: +> + statusline_left_sections = [ + 'winnr', + 'filename', + 'major mode', + 'minor mode lighters', + 'version control info' + ] +< + +============================================================================== +STATUSLINE_SEPARATOR *SpaceVim-options-statusline_separator* + +Set the statusline separators of statusline, default is 'nil' +> + Separators options: + 1. arrow + 2. curve + 3. slant + 4. nil + 5. fire +< + +See more details in: http://spacevim.org/documentation/#statusline + + +============================================================================== +STATUSLINE_UNICODE_SYMBOLS *SpaceVim-options-statusline_unicode_symbols* + +Enable/Disable unicode symbols in statusline, includes the mode icons and +fileformat icons. This option is enabled by default, to disable it: +> + statusline_unicode_symbols = 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' +< + +============================================================================== +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 + move cursor to beginning in command line mode + move cursor to left in command line mode + move cursor to right in command line mode + switch buffer +< + +============================================================================== +WARNING_SYMBOL *SpaceVim-options-warning_symbol* + +Set the warning symbol for SpaceVim's syntax maker. Default is '⚠'. +> + warning_symbol = '!' +< + +============================================================================== +WINDOWS_INDEX_TYPE *SpaceVim-options-windows_index_type* + +Set SpaceVim windows index type, default is 3. +> + # types: + # 0: 1 ➛ ➊ + # 1: 1 ➛ ➀ + # 2: 1 ➛ ⓵ + # 3: 1 ➛ 1 + windows_index_type = 1 +< + +============================================================================== +WINDOWS_LEADER *SpaceVim-options-windows_leader* + +Window functions leader for SpaceVim. Default is `s`. Set to empty to disable +this feature, or you can set to another char. +> + windows_leader = "" +< + +============================================================================== +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. + + + *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 + + *g:spacevim_relativenumber* +Enable/Disable relativenumber in current windows, by default it is enabled. + + *g:spacevim_enable_bepo_layout* +Enable/Disable bepo layout, by default it is disabled. + + *g:spacevim_max_column* +Change the max number of columns for SpaceVim. Default is 120. +> + let g:spacevim_max_column = 120 +< + + *g:spacevim_default_custom_leader* +Change the default custom leader of SpaceVim. Default is . +> + let g:spacevim_default_custom_leader = '' +< + + *g:spacevim_home_files_number* +Change the list number of files for SpaceVim home. Default is 6. +> + let g:spacevim_home_files_number = 6 +< + + *g:spacevim_enable_guicolors* +Enable true color support in terminal. Default is 0. +> + let g:spacevim_enable_guicolors = 1 +< + + *g:spacevim_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 vimfiler. + + *g:spacevim_snippet_engine* +Set the snippet engine of SpaceVim, default is neosnippet. to enable +ultisnips: +> + let g:spacevim_snippet_engine = "ultisnips" +< + + *g:spacevim_enable_cursorline* +Enable/Disable cursorline. Default is 1, cursorline will be highlighted in +normal mode.To disable this feature: +> + let g:spacevim_enable_cursorline = 0 +< + + *g:spacevim_statusline_separator* +Set the statusline separators of statusline, default is 'nil' +> + Separators options: + 1. arrow + 2. curve + 3. slant + 4. nil + 5. fire +< + +See more details in: http://spacevim.org/documentation/#statusline + + + *g:spacevim_statusline_iseparator* +Set the statusline separators of statusline in inactive windows, default is +'nil' +> + Separators options: + 1. arrow + 2. curve + 3. slant + 4. nil + 5. fire +< + +See more details in: http://spacevim.org/documentation/#statusline + + + *g:spacevim_enable_statusline_bfpath* +Enable/Disable showing full path of current buffer on statusline, disabled by +default, to enable this feature: +> + enable_statusline_bfpath = true +< + + *g:spacevim_enable_statusline_tag* +Enable/Disable showing current tag on statusline + + *g:spacevim_statusline_left_sections* +Define the left section of statusline in active windows. By default: +> + let g:spacevim_statusline_left_sections = + \ [ + \ 'winnr', + \ 'filename', + \ 'major mode', + \ 'minor mode lighters', + \ 'version control info' + \ ] +< + + *g:spacevim_statusline_right_sections* +Define the right section of statusline in active windows. By default: +> + g:spacevim_statusline_right_sections = + \ [ + \ 'fileformat', + \ 'cursorpos', + \ 'percentage' + \ ] +< + + *g:spacevim_statusline_unicode_symbols* +Enable/Disable unicode symbols in statusline, includes the mode icons and +fileformat icons. This option is enabled by default, to disable it: +> + let g:spacevim_statusline_unicode_symbols = 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 'vimfiler'. you can also use +nerdtree or defx + + *g:spacevim_filetree_direction* +Config the direction of file tree. Default is 'right'. you can also set to +'left'. + +NOTE: if it is 'left', the tagbar will be move to right. + + *g:spacevim_plugin_manager_processes* +Set the max process of SpaceVim plugin manager + + *g:spacevim_checkinstall* +Enable/Disable checkinstall on SpaceVim startup. Default is 1. +> + let g:spacevim_checkinstall = 1 +< + + *g:spacevim_vimcompatible* +Enable/Disable vimcompatible mode, by default it is 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 + move cursor to beginning in command line mode + move cursor to left in command line mode + move cursor to right in command line mode + switch buffer +< + + *g:spacevim_enable_debug* +Enable/Disable debug mode for SpaceVim. Default is 0. +> + let g:spacevim_enable_debug = 1 +< + + *g:spacevim_auto_disable_touchpad* +Auto disable touchpad when switch to insert mode or focuslost in neovim. + + *g:spacevim_debug_level* +Set the debug level of SpaceVim. Default is 1. see +|SpaceVim#logger#setLevel()| + + *g:spacevim_buffer_index_type* +Set SpaceVim buffer index type, default is 4. +> + " types: + " 0: 1 ➛ ➊ + " 1: 1 ➛ ➀ + " 2: 1 ➛ ⓵ + " 3: 1 ➛ ¹ + " 4: 1 ➛ 1 + let g:spacevim_buffer_index_type = 1 +< + + *g:spacevim_windows_index_type* +Set SpaceVim windows index type, default is 3. +> + " types: + " 0: 1 ➛ ➊ + " 1: 1 ➛ ➀ + " 2: 1 ➛ ⓵ + " 3: 1 ➛ 1 + let g:spacevim_windows_index_type = 1 +< + + *g:spacevim_enable_tabline_ft_icon* +Enable/Disable tabline filetype icon. default is 0. + + *g:spacevim_enable_os_fileformat_icon* +Enable/Disable os fileformat icon. default is 0. + + *g:spacevim_github_username* +Set the github username, It will be used for getting your starred repos, and +fuzzy find the repo you want. + + *g:spacevim_windows_smartclose* +Set the default key for smart close windows, default is `q`. + + *g:spacevim_disabled_plugins* +Disable plugins by name. +> + let g:spacevim_disabled_plugins = ['vim-foo', 'vim-bar'] +< + + *g:spacevim_custom_plugins* +Add custom plugins. +> + let g:spacevim_custom_plugins = [ + \ ['plasticboy/vim-markdown', 'on_ft' : 'markdown'], + \ ['wsdjeg/GitHub.vim'], + \ ] +< + + *g:spacevim_filetype_icons* +change the default filetype icon for a specific filtype. +> + let g:spacevim_filetype_icons['md'] = '' +< + + *g:spacevim_force_global_config* +SpaceVim will load the global config after local config if set to 1. Default +is 0. If you have a local config, the global config will not be loaded. +> + let g:spacevim_force_global_config = 1 +< + + *g:spacevim_enable_powerline_fonts* +Enable/Disable powerline symbols. Default is 1. + + *g:spacevim_lint_on_save* +Enable/Disable lint on save feature of SpaceVim's maker. Default is 1. +> + let g:spacevim_lint_on_save = 0 +< + + *g:spacevim_search_tools* +Default search tools supported by flygrep. The default order is ['rg', 'ag', +'pt', 'ack', 'grep', 'findstr', '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_rooter_automatically* +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_enable_vimfiler_gitstatus* +Enable/Disable gitstatus column in vimfiler buffer, default is 0. + + *g:spacevim_enable_vimfiler_filetypeicon* +Enable/Disable filetypeicon column in vimfiler buffer, default is 0. + + *g:spacevim_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:github_dashboard* +junegunn/vim-github-dashboard {{{ + + *g:dash_map* +rizzatti/dash.vim {{{ Allows configuration of mappings between Vim filetypes +and Dash's docsets. + +============================================================================== +COMMANDS *SpaceVim-commands* + +:SPLayer {layers} *:SPLayer* + Load exist layer, {layers} can be a string of a layer name, or a list of + layer names. + +:SPVersion *:SPVersion* + Print the version of SpaceVim. The following lines contain information + about which features were enabled. When there is a preceding '+', the + feature is included, when there is a '-' it is excluded. + +:SPSet {opt} [value] *:SPSet* + Set or check SpaceVim option. {opt} should be the option name of spacevim, + This command will use [value] as the value of option name. + +:SPDebugInfo[!] *:SPDebugInfo* + print the debug information of spacevim, [!] forces the output into a new + buffer. + +:SPRuntimeLog *:SPRuntimeLog* + view runtime log + +:SPConfig *:SPConfig* + edit custom config file of SpaceVim, by default this command will open + global custom configuration file, '-l' option will load local custom + configuration file. +> + :SPConfig -g +< + +:SPUpdate *:SPUpdate* + Command for update plugin, support completion of plugin name. If run without + argv, All the plugin will be updated. +> + :SPUpdate vim-airline +< + +:SPReinstall *:SPReinstall* + Command for reinstall plugin, support completion of plugin name. + +:SPInstall *:SPInstall* + Command for install plugins. + +:A[!] {type} *:A* + Switch to alternate file based on {type}. + +============================================================================== +FUNCTIONS *SpaceVim-functions* + +SpaceVim#api#import({name}) *SpaceVim#api#import()* + Import API base the given {name}, and return the API object. for all + available APIs please check |spacevim-api| + +SpaceVim#layers#load({layer}) *SpaceVim#layers#load()* + Load the {layer} you want. For all the layers SpaceVim supports, see + |SpaceVim-layers|. the second argv is the layer variable. + +SpaceVim#logger#setLevel({level}) *SpaceVim#logger#setLevel()* + Set debug level of SpaceVim. Default is 1. + + 1 : log all messages + + 2 : log warning and error messages + + 3 : log error messages only + +SpaceVim#logger#setOutput({file}) *SpaceVim#logger#setOutput()* + Set the log output file of SpaceVim. Default is empty. + +SpaceVim#plugins#iedit#start() *SpaceVim#plugins#iedit#start()* + public API for iedit mode +> + KEY: + expr match expression + word match word + stack cursor pos stack +< + if only argv 1 is given, use selected word as pattern + +============================================================================== +LAYERS *SpaceVim-layers* + + SpaceVim support such layers: + +languages: + +https://www.scriptol.com/programming/list-programming-languages.php#query-lang +uage + +============================================================================== +AUTOCOMPLETE *SpaceVim-autocomplete* + +CODE COMPLETION +SpaceVim uses neocomplete as the default completion engine if vim has lua +support. If there is no lua support, neocomplcache will be used for the +completion engine. SpaceVim uses deoplete as the default completion engine for +neovim. Deoplete requires neovim to be compiled with python support. For more +information on python support, please read neovim's |provider-python|. + +SpaceVim includes YouCompleteMe, but it is disabled by default. To enable ycm, +see |g:spacevim_enable_ycm|. + +SNIPPET +SpaceVim use neosnippet as the default snippet engine. The default snippets +are provided by `Shougo/neosnippet-snippets`. For more information, please +read |neosnippet|. Neosnippet support custom snippets, and the default +snippets directory is `~/.SpaceVim/snippets/`. If +`g:spacevim_force_global_config = 1`, SpaceVim will not append +`./.SpaceVim/snippets` as default snippets directory. + +============================================================================== +CHECKERS *SpaceVim-layer-checkers* + +SpaceVim uses neomake as default syntax checker. + +============================================================================== +COLORSCHEME *SpaceVim-colorscheme* + +The ldefault colorscheme for SpaceVim is gruvbox. The colorscheme can be +changed with the `g:spacevim_colorscheme` option by adding the following line +to your `~/.SpaceVim/init.vim`. +> + let g:spacevim_colorscheme = 'solarized' +< + +The following colorschemes are include in SpaceVim. If the colorscheme you +want is not included in the list below, a PR is welcome. + +Also, there's one thing which everyone should know and pay attention to. NOT +all of below colorschemes support spell check very well. For example, a +colorscheme called atom doesn't support spell check very well. + +SpaceVim is not gonna fix them since these should be in charge of each author. + +============================================================================== +CORE#STATUSLINE *SpaceVim-layer-core-statusline* + +This layer provides default statusline for SpaceVim If you want to use +airline's statusline, just disable this layer +> + [[layers]] + name = "core#statusline" + enable = false +< + +============================================================================== +CORE#TABLINE *SpaceVim-layer-core-tabline* + +This layer provides default tabline for SpaceVim If you want to use airline's +tabline, just disable this layer +> + [[layers]] + name = "core#tabline" + enable = false +< + +============================================================================== +EXPRFOLD *SpaceVim-layer-exprfold* + +Fold code quickly according to expr. + +Mappings: +> + Key Mode Function + ---------------------------------------------------- + ZB normal Open fold block template + ZF normal Fold block + ZC normal Fold block comment +< + +============================================================================== +FORMAT *SpaceVim-layer-format* + +format layer provides code formation for SpaceVim, the default formatting +plugin is |neoformat|. +OPTIONS + +`format_on_save`: disabled by default. + +KEY BINDINGS + +> + Key binding Description + SPC b f format current buffer or selection lines +< + + +============================================================================== +GITHUB *SpaceVim-layer-github* + +This layer provides GitHub integration for SpaceVim + +MAPPINGS + +> + Mode Key Function + ------------------------------------------------------------- + normal SPC g h i show issues + normal SPC g h a show activities + normal SPC g h d show dashboard + normal SPC g h f show current file in browser + normal SPC g h I show issues in browser + normal SPC g h p show PRs in browser +< + +============================================================================== +INCSEARCH *SpaceVim-layer-incsearch* + +This layer improved incremental searching for neovim/vim + +mappings +> + key mode description + / n/v incsearch forward + ? n/v incsearch backward + g/ n/v incsearch stay + n n nohlsearch n + N n nohlsearch N + * n nohlsearch * + g* n nohlsearch g* + # n nohlsearch # + g# n nohlsearch g# + z/ n incsearch fuzzy / + z? n incsearch fuzzy ? + zg? n incsearch fuzzy g? + / n incsearch easymotion +< + +============================================================================== +INDENTMOVE *SpaceVim-layer-indentmove* + +Move cursor quickly according to indent. + +MAPPINGS + +> + Key mode function + ----------------------------------------------------------------- + EH normal/visual move up to nearest line with smaller + indent level + EL normal/visual move down to nearest line with larger + indent level + EJ normal/visual move down to nearest line with smaller + or same indent level + EK normal/visual move down to nearest line with larger + or same indent level + EI normal/visual move down to nearest child indent +< + + + +============================================================================== +LANG#ACTIONSCRIPT *SpaceVim-layer-lang-actionscript* + +This layer provides syntax highlighting for actionscript. To enable this +layer: +> + [[layers]] + name = "lang#actionscript" +< + +============================================================================== +LANG#AGDA *SpaceVim-layer-lang-agda* + +This layer provides syntax highlighting for agda. To enable this layer: +> + [layers] + name = "lang#agda" +< + +============================================================================== +LANG#ASCIIDOC *SpaceVim-layer-lang-asciidoc* + +This layer provides syntax highlighting for asciidoc. To enable this layer: +> + [layers] + name = "lang#asciidoc" +< + +============================================================================== +LANG#ASEPCTJ *SpaceVim-layer-lang-asepctj* + +This layer provides syntax highlighting for asepctj. To enable this layer: +> + [layers] + name = "lang#asepctj" +< + +============================================================================== +LANG#BATCH *SpaceVim-layer-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-layer-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 + +> + Mode Key Function + --------------------------------------------- + normal SPC l r run current file +< + +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 +< + +}}} + +============================================================================== +LANG#CHAPEL *SpaceVim-layer-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-layer-lang-clojure* + +This layer provides syntax highlighting for clojure. To enable this layer: +> + [layers] + name = "lang#clojure" +< + +============================================================================== +LANG#COFFEESCRIPT *SpaceVim-layer-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-layer-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-layer-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-layer-lang-d* + +This layer is for d development, disabled by default, to enable this layer, +add following snippet to your SpaceVim configuration file. +> + [[layers]] + name = 'lang#d' +< + +KEY BINDINGS + +> + Mode Key Function + --------------------------------------------- + normal SPC l r run current file +< + +This layer also provides REPL support for d, the key bindings are: +> + Key Function + --------------------------------------------- + SPC l s i Start a inferior REPL process + SPC l s b send whole buffer + SPC l s l send current line + SPC l s s send selection text +< + + +============================================================================== +LANG#DART *SpaceVim-layer-lang-dart* + +INTRO + +The lang#dart layer provides code completion, documentation lookup, jump to +definition, dart_repl integration for dart. It uses neomake as default syntax +checker which is loaded in |SpaceVim-layer-checkers|. To enable this layer: +> + [layers] + name = "lang#dart" +< + +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-layer-lang-dockerfile* + +INTRO + +The lang#dockerfile layer provides syntax highlighting for dockerfile. + +============================================================================== +LANG#EIFFEL *SpaceVim-layer-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 +< + + +============================================================================== +LANG#ELIXIR *SpaceVim-layer-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-layer-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-layer-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-layer-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#FOXPRO *SpaceVim-layer-lang-foxpro* + +INTRO + +The lang#foxpro layer provides syntax highlighting for foxpro. + +============================================================================== +LANG#FSHARP *SpaceVim-layer-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-layer-lang-go* + +This layer includes code completion and syntax checking for Go development. + +MAPPINGS + +> + Mode Key Function + --------------------------------------------- + normal SPC l a go alternate + normal SPC l b go build + normal SPC l c go coverage + normal SPC l d go doc + normal SPC l D go doc vertical + normal SPC l e go rename + normal SPC l g go definition + normal SPC l G go generate + normal SPC l h go info + normal SPC l i go implements + normal SPC l I implement stubs + normal SPC l k add tags + normal SPC l K remove tags + normal SPC l l list declarations in file + normal SPC l L list declarations in dir + normal SPC l m format improts + normal SPC l M add import + normal SPC l x go referrers + normal SPC l s fill struct + normal SPC l t go test + normal SPC l v freevars + normal SPC l r go run +< + +============================================================================== +LANG#GOBY *SpaceVim-layer-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-layer-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-layer-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-layer-lang-groovy* + +This layer is for groovy development, disabled by default, to enable this +layer, add following snippet to your SpaceVim configuration file. +> + [[layers]] + name = 'lang#groovy' +< + +KEY BINDINGS + +> + Mode Key Function + --------------------------------------------- + normal SPC l r run current file +< + +This layer also provides REPL support for groovy, the key bindings are: +> + Key Function + --------------------------------------------- + SPC l s i Start a inferior REPL process + SPC l s b send whole buffer + SPC l s l send current line + SPC l s s send selection text +< + + +============================================================================== +LANG#HACK *SpaceVim-layer-lang-hack* + +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-layer-lang-haskell* + +This layer is for haskell development, disabled by default, to enable this +layer, add following snippet to your SpaceVim configuration file. +> + [[layers]] + name = 'lang#haskell' +< + +KEY BINDINGS + +> + Mode Key Function + --------------------------------------------- + normal SPC l r run current file +< + +This layer also provides REPL support for haskell, the key bindings are: +> + Key Function + --------------------------------------------- + SPC l s i Start a inferior REPL process + SPC l s b send whole buffer + SPC l s l send current line + SPC l s s send selection text +< + + +============================================================================== +LANG#HTML *SpaceVim-layer-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 + +user_emmet_leader_key: change the default leader key for emmet + + +> + [layers] + name = "lang#html" + user_emmet_leader_key = "" +< + +KEY BINDINGS + + +> + Key Binding description + emmet leader key +< + + +============================================================================== +LANG#HY *SpaceVim-layer-lang-hy* + +This layer is for hy development, disabled by default, to enable this layer, +add following snippet to your SpaceVim configuration file. +> + [[layers]] + name = 'lang#hy' +< + +KEY BINDINGS + +> + Mode Key Function + --------------------------------------------- + normal SPC l r run current file +< + +This layer also provides REPL support for hy, the key bindings are: +> + Key Function + --------------------------------------------- + SPC l s i Start a inferior REPL process + SPC l s b send whole buffer + SPC l s l send current line + SPC l s s send selection text +< + + +============================================================================== +LANG#IDRIS *SpaceVim-layer-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#J *SpaceVim-layer-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-layer-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-layer-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")`', + '**/', + '' + ] +< +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 I import missing imports + insert R remove unused imports + insert 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 s generate setter accessor + insert g generate getter accessor + insert 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 'g:spacevim_layer_lang_java_formatter' to the path of the jar. + +============================================================================== +LANG#JAVASCRIPT *SpaceVim-layer-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 +< + + +============================================================================== +LANG#JSON *SpaceVim-layer-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 = '' +< + +============================================================================== +LANG#JULIA *SpaceVim-layer-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 + +> + 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 +< + + +============================================================================== +LANG#KOTLIN *SpaceVim-layer-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#LISP *SpaceVim-layer-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-layer-lang-livescript* + +This layer is for livescript development, disabled by default, to enable this +layer, add following snippet to your SpaceVim configuration file. +> + [[layers]] + name = 'lang#livescript' +< + +KEY BINDINGS + +> + Mode Key Function + ------------------------------------------------------------- + normal SPC l r run current file +< + +This layer also provides REPL support for livescript, the key bindings are: +> + Key Function + --------------------------------------------- + SPC l s i Start a inferior REPL process + SPC l s b send whole buffer + SPC l s l send current line + SPC l s s send selection text +< + + +============================================================================== +LANG#LUA *SpaceVim-layer-lang-lua* + +This layer includes utilities and language-specific mappings for lua +development. +> + [[layers]] + name = 'lang#lua' +< + +KEY BINDINGS + +> + Mode Key Function + --------------------------------------------- + normal SPC l r run current script + normal SPC l b compile current file +< + +This layer also provides REPL support for lua, the key bindings are: +> + Key Function + --------------------------------------------- + SPC l s i Start a inferior REPL process + SPC l s b send whole buffer + SPC l s l send current line + SPC l s s send selection text +< + + +============================================================================== +LANG#MOONSCRIPT *SpaceVim-layer-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-layer-lang-nim* + +This layer is for nim development, disabled by default, to enable this layer, +add following snippet to your SpaceVim configuration file. +> + [[layers]] + name = 'lang#nim' +< + +KEY BINDINGS + +> + Mode Key Function + ------------------------------------------------------------- + normal SPC l r run current file + normal SPC l d show symbol info + normal SPC l e rename symbol in file + normal SPC l E rename symbol in project + normal g d go to definition +< + +This layer also provides REPL support for nim, the key bindings are: +> + Key Function + --------------------------------------------- + SPC l s i Start a inferior REPL process + SPC l s b send whole buffer + SPC l s l send current line + SPC l s s send selection text +< + + +============================================================================== +LANG#NIX *SpaceVim-layer-lang-nix* + +INTRO +The lang#nix layer provides syntax highlighting for the Nix expression +language. + +============================================================================== +LANG#OCAML *SpaceVim-layer-lang-ocaml* + +OCaml autocompletion provided by merlin. + +Requirements: +> + opam + merlin +< + +============================================================================== +LANG#PACT *SpaceVim-layer-lang-pact* + +This layer is for pact development, disabled by default, to enable this layer, +add following snippet to your SpaceVim configuration file. +> + [[layers]] + name = 'lang#pact' +< + +KEY BINDINGS + +> + Mode Key Function + --------------------------------------------- + normal SPC l r run current file +< + +This layer also provides REPL support for pact, the key bindings are: +> + Key Function + --------------------------------------------- + SPC l s i Start a inferior REPL process + SPC l s b send whole buffer + SPC l s l send current line + SPC l s s send selection text +< + + +============================================================================== +LANG#PHP *SpaceVim-layer-lang-php* + +This layer is for PHP development. It proides code completion, syntax +checking, and jump to definition. + +============================================================================== +LANG#PONY *SpaceVim-layer-lang-pony* + +This layer is for pony development, disabled by default, to enable this layer, +add following snippet to your SpaceVim configuration file. +> + [[layers]] + name = 'lang#pony' +< + +KEY BINDINGS + +> + Mode Key Function + --------------------------------------------- + normal SPC l r run current file +< + +============================================================================== +LANG#PROCESSING *SpaceVim-layer-lang-processing* + +This layer is for Processing development: https://processing.org + +This is based on the work from https://github.com/sophacles/vim-processing + +Requirements: + + 1. You will need a copy of processing-java. The best way to do this is to + get a copy of the Processing IDE from https://processing.org/download/ + + Once you have it, run it, and then select Tools -> install +"processing-java" + +MAPPINGS + +> + Mode Key Function + ----------------------------------------------- + normal SPC l r execute current sketch +< + +============================================================================== +LANG#PROLOG *SpaceVim-layer-lang-prolog* + +This layer is for prolog development, disabled by default, to enable this +layer, add following snippet to your SpaceVim configuration file. +> + [[layers]] + name = 'lang#prolog' +< + + +============================================================================== +LANG#PUPPET *SpaceVim-layer-lang-puppet* + +This layer is for Puppet development. It provides syntax highlighting and +syntax checking. + +Requirements: +> + Puppet + Puppet Lint +< + +============================================================================== +LANG#PYTHON *SpaceVim-layer-lang-python* + +To make this layer work well, you should install jedi. +MAPPINGS + +> + mode key function +< + +============================================================================== +LANG#RACKET *SpaceVim-layer-lang-racket* + +This layer is for racket development, disabled by default, to enable this +layer, add following snippet to your SpaceVim configuration file. +> + [[layers]] + name = 'lang#racket' +< + +KEY BINDINGS + +> + Mode Key Function + --------------------------------------------- + normal SPC l r run current file +< + +This layer also provides REPL support for racket, the key bindings are: +> + Key Function + --------------------------------------------- + SPC l s i Start a inferior REPL process + SPC l s b send whole buffer + SPC l s l send current line + SPC l s s send selection text +< + + +============================================================================== +LANG#RACKET *SpaceVim-layer-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#RING *SpaceVim-layer-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#RING *SpaceVim-layer-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-layer-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. ruby_repl_command: the REPL command for ruby + +> + [[layers]] + name = 'lang#ruby' + 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' + 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 +< + + +============================================================================== +LANG#RUST *SpaceVim-layer-lang-rust* + +This layer is for Rust development. + +Requirements: + + 1. Racer needs a copy of the rust source. The easiest way to do this is with + rustup. Once rustup is installed, download the source with: + +> + rustup component add rust-src +< + 2. Install Rust nightly build + +> + rustup install nightly +< + 3. Install racer: + +> + cargo +nightly install racer +< + 4. Set the RUST_SRC_PATH variable in your .bashrc: + +> + RUST_SRC_PATH=~/.multirust/toolchains//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" +< + +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 +< + +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 +< + + +============================================================================== +LANG#SCALA *SpaceVim-layer-lang-scala* + +This layer is for Scala development. + +MAPPINGS + +> + Import key bindings: + + Mode Key Function + ------------------------------------------------------------- + normal show candidates for importing of cursor symbol + insert 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 i prompt for a qualified import + insert o organize imports of current file + insert 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 + 'g:spacevim_layer_lang_scala_formatter' to the path of the jar. + + 2. If lsp + [`metals-vim`](https://scalameta.org/metals/docs/editors/overview.html) is + enabled, it will automatically use + [`scalafmt`](https://scalameta.org/scalafmt/docs/configuration.html) to + format code. + +============================================================================== +LANG#SCHEME *SpaceVim-layer-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. + + +============================================================================== +LANG#SH *SpaceVim-layer-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#SML *SpaceVim-layer-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#SWIG *SpaceVim-layer-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 +< + +============================================================================== +LANG#SWIG *SpaceVim-layer-lang-swig* + +This layer is for swig development, including syntax highlighting and indent. +To enable it: +> + [layers] + name = "lang#swig" +< + +============================================================================== +LANG#TCL *SpaceVim-layer-lang-tcl* + +This layer is for tcl development, disabled by default, to enable this layer, +add following snippet to your SpaceVim configuration file. +> + [[layers]] + name = 'lang#tcl' +< + +KEY BINDINGS + +> + Mode Key Function + --------------------------------------------- + normal SPC l r run current file +< + +This layer also provides REPL support for tcl, the key bindings are: +> + Key Function + --------------------------------------------- + SPC l s i Start a inferior REPL process + SPC l s b send whole buffer + SPC l s l send current line + SPC l s s send selection text +< + + +============================================================================== +LANG#TOML *SpaceVim-layer-lang-toml* + +This layer provides basic syntax highlighting for toml. To enable it: +> + [layers] + name = "lang#toml" +< + +============================================================================== +LANG#TYPESCRIPT *SpaceVim-layer-lang-typescript* + +This layer provides typescript development support for SpaceVim. To enable +this layer, add following sinippet into SpaceVim configuration file. +> + [layers] + name = "lang#typescript" +< +MAPPINGS + +> + Ket binding Description + ---------------------------------------- + g d defintion preview +< + +============================================================================== +LANG#V *SpaceVim-layer-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#VBNET *SpaceVim-layer-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#XML *SpaceVim-layer-lang-xml* + +When editing an xml file, the omni func is xmlcomplete#CompleteTags. You can +read the documentation in autoload/xmlcomplete.vim in the vim or neovim +runtime directory. + +============================================================================== +LANG#XQUERY *SpaceVim-layer-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' +< + +============================================================================== +LANGUAGE SERVER PROTOCOL *SpaceVim-layer-lsp* + +This layer provides language client support for SpaceVim. + +============================================================================== +LEADERF *SpaceVim-layer-leaderf* + +This layer provides fuzzy finder feature which is based on leaderf, and this +layer requires vim compiled with `+python` or `+python3`. + +============================================================================== +OPERATOR *SpaceVim-layer-operator* + +With this layer, you can confirm that text is yanked correctly and see yanked +text by highlighting. + +============================================================================== +SHELL *SpaceVim-layer-shell* + +SpaceVim uses deol.nvim for shell support in neovim and uses vimshell for vim. +For more info, read |deol| and |vimshell|. + +VARIABLE + +default_shell: config the default shell to be used by shell layer. + +KEY BINDINGS + +> + SPC ' Open or switch to terminal windows + q Hide terminal windows in normal mode +< + +============================================================================== +TEST *SpaceVim-layer-test* + +This layer allows to run tests on SpaceVim + +MAPPINGS + +> + Mode Key Function + ------------------------------------------------------------- + normal SPC k n run nearest test + normal SPC k f run test file + normal SPC k s run test suite + normal SPC k l run the latest test + normal SPC k v visits the last run test file +< + +============================================================================== +TMUX *SpaceVim-layer-tmux* + +Adds integration between tmux and vim panes. Switch between panes +seamlessly.syntax highlighting, commenting, man page navigation and ability to +execute lines as tmux commands. This layer is not added by default. To include +it, add `SpaceVim#layers#load('tmux')` to your `~/.SpaceVim.d/init.vim`. If +you are having issues with in a neovim buffer, see +`https://github.com/neovim/neovim/issues/2048#issuecomment-78045837` + +MAPPINGS + +> + Key Mode Function + ------------------------------ + normal Switch to vim/tmux pane in left direction + normal Switch to vim/tmux pane in down direction + normal Switch to vim/tmux pane in up direction + normal Switch to vim/tmux pane in right direction +< + +============================================================================== +TOOLS#DASH *SpaceVim-layer-tools-dash* + +This layer provides Dash integration for SpaceVim + +============================================================================== +TOOLS#ZEAL *SpaceVim-layer-tools-zeal* + +This layer provides Zeal integration for SpaceVim + +============================================================================== +USAGE *SpaceVim-usage* + + General guide for using SpaceVim. Including layer configuration, bootstrap +function. + +============================================================================== +CUSTOM_PLUGINS *SpaceVim-usage-custom_plugins* + +Add custom plugins. +> + [[custom_plugins]] + repo = 'vimwiki/vimwiki' + 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!")') +< + +> +< + +============================================================================== +TASKS *SpaceVim-usage-tasks* + +general guide for tasks manager in SpaceVim. + +============================================================================== +API *SpaceVim-api* + +SpaceVim contains a variety of public apis. To using the api, you need to make +sure SpaceVim has been added to your &rtp. after that, you can use +|SpaceVim#api#import| to import the API you need. + +USAGE + +This is just an example, and it works well in old version vim. +> + let s:json = SpaceVim#api#import('data#json') + let rst = s:json.json_encode(onject) + let rst = s:json.json_decode(string) +< + +here is list of resources where SpaceVim comes from: + +vital: https://github.com/vim-jp/vital.vim + +============================================================================== +CMDLINEMENU *SpaceVim-api-cmdlinemenu* + +menu({items}) + +Create a cmdline selection menu from a list of {items}, each item should be a +list of two value in it, first one is the description, and the next one should +be a funcrc. + +============================================================================== +DATA#DICT *SpaceVim-api-data-dict* + +provides some functions to manipulate a dict. + +make({keys}, {values}[, {fill}]) + + make a dictionary from two list, the {keys} and {values}. + +swap({dict}) + + swap the keys and values in a dictionary. + +make_index + + make a dictionary from a list, use + +============================================================================== +DATA#LIST *SpaceVim-api-data-list* + +provides some functions to manipulate a list. + +pop({list}) + + Removes the last element from {list} and returns the element, as if the +{list} is a stack. + +push({list}) + + Appends {val} to the end of {list} and returns the list itself, as if the +{list} is a stack. + +listpart({list}, {start}[, {len}]) + + The result is a List, which is part of {list}, starting from index {start}, +with the length {len} + +replace(list, begin, end, re_list) + + replace {list} from {begin} to {end} with {re_list} + +shift({list}) + + remove first item in a {list}, and return the item + +unshift({list}) + + insert an item to the begin of the {list} + +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. + +============================================================================== +JOB *SpaceVim-api-job* + +provides some functions to manager job + +start({cmd}[, {opt}]) + + spawns {cmd} as a job. {opts} is a dictionary with these keys: + + on_stdout: stdout event handler (function name or Funcref) + + on_stderr: stderr event handler (function name or Funcref) + + on_exit: exit event handler (function name or Funcref) + + cwd: working directory of the job; defaults to current directory + +============================================================================== +LOGGER *SpaceVim-api-logger* + +provides some functions to manager logger + +set_silent({silent}) + + {silent} is a Boolean. by default it is false, and log will be print to +screen. + +============================================================================== +PASSWORD *SpaceVim-api-password* + +provides some functions to generate password + +generate_simple({len}) + + generate simple password + +generate_strong({len}) + + generate strong password + +generate_paranoid({len}) + + generate paranoid password + +generate_numeric({len}) + + generate numeric password + +generate_phonetic({len}) + + generate phonetic password + +============================================================================== +PROMPT *SpaceVim-api-prompt* + +open() + +Create a cmdline prompt, use while loop to get the input from user. The +default mapping for prompt is: +> + remove last character + remove the Word before the cursor + remove the Line before the cursor + remove the Line after the cursor + / Go to the beginning of the line + / 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. + +============================================================================== +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#BUFFER *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({winnr}) + + 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. + +============================================================================== +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() +< + +============================================================================== +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. + +echo({hi}, {msg}) + + print message with {hi} highlight group. + +============================================================================== +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 `` in cmdline-mode? + + `` is the default value of |cedit| option, but in SpaceVim we use that +binding as ``, so maybe you can change the `cedit` option or use +`+`. + + 4. How to use `` as ``? + + Add `let g:mapleader = "\"` 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 v1.4.0 + +https://github.com/SpaceVim/SpaceVim/wiki/Following-HEAD + +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: