mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-24 05:40:05 +08:00
741 lines
25 KiB
Plaintext
741 lines
25 KiB
Plaintext
*SpaceVim.txt*
|
|
|
|
|
|
/###### /## /##/##
|
|
/##__ ## | ## | #|__/
|
|
| ## \__/ /###### /###### /####### /######| ## | ##/##/######/####
|
|
| ###### /##__ ##|____ ##/##_____//##__ #| ## / ##| #| ##_ ##_ ##
|
|
\____ #| ## \ ## /######| ## | ########\ ## ##/| #| ## \ ## \ ##
|
|
/## \ #| ## | ##/##__ #| ## | ##_____/ \ ###/ | #| ## | ## | ##
|
|
| ######| #######| ######| ######| ####### \ #/ | #| ## | ## | ##
|
|
\______/| ##____/ \_______/\_______/\_______/ \_/ |__|__/ |__/ |__/
|
|
| ##
|
|
| ##
|
|
|__/
|
|
wsdjeg *spacevim* *SpaceVim*
|
|
|
|
==============================================================================
|
|
CONTENTS *SpaceVim-contents*
|
|
1. Introduction.............................................|SpaceVim-intro|
|
|
2. CONFIGURATION...........................................|SpaceVim-config|
|
|
3. Functions............................................|SpaceVim-functions|
|
|
4. Layers..................................................|SpaceVim-layers|
|
|
1. Default............................................|SpaceVim-default|
|
|
2. autocomplete..................................|SpaceVim-autocomplete|
|
|
3. checkers....................................|SpaceVim-layer-checkers|
|
|
4. colorscheme....................................|SpaceVim-colorscheme|
|
|
5. exprfold....................................|SpaceVim-layer-exprfold|
|
|
6. indentmove................................|SpaceVim-layer-indentmove|
|
|
7. lang#c........................................|SpaceVim-layer-lang-c|
|
|
8. lang#elixir..............................|SpaceVim-layer-lang-elixir|
|
|
9. lang#go......................................|SpaceVim-layer-lang-go|
|
|
10. lang#java.................................|SpaceVim-layer-lang-java|
|
|
11. lang#ocaml...............................|SpaceVim-layer-lang-ocaml|
|
|
12. lang#php...................................|SpaceVim-layer-lang-php|
|
|
13. lang#puppet.............................|SpaceVim-layer-lang-puppet|
|
|
14. lang#python.............................|SpaceVim-layer-lang-python|
|
|
15. lang#rust.................................|SpaceVim-layer-lang-rust|
|
|
16. lang#xml...................................|SpaceVim-layer-lang-xml|
|
|
17. shell.........................................|SpaceVim-layer-shell|
|
|
5. FAQ........................................................|SpaceVim-faq|
|
|
|
|
==============================================================================
|
|
INTRODUCTION *SpaceVim-intro*
|
|
|
|
SpaceVim is a bundle of custom settings and plugins with a modular
|
|
configuration for Vim. It was inspired by Spacemacs.
|
|
|
|
|
|
==============================================================================
|
|
CONFIGURATION *SpaceVim-config*
|
|
|
|
SpaceVim uses `~/.SpaceVim/init.vim` as its default global config file. You
|
|
can set all the SpaceVim options and layers in it. `~/.SpaceVim/` 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.vim` in the root directory of your project. `.SpaceVim.d/`
|
|
will also be added to runtimepath.
|
|
|
|
*g:spacevim_default_indent*
|
|
Change the default indentation of SpaceVim. Default is 2.
|
|
>
|
|
let g:spacevim_default_indent = 2
|
|
<
|
|
|
|
*g:spacevim_max_column*
|
|
Change the max number of columns for SpaceVim. Default is 120.
|
|
>
|
|
let g:spacevim_max_column = 120
|
|
<
|
|
|
|
*g:spacevim_enable_guicolors*
|
|
Enable true color support in terminal. Default is 1.
|
|
>
|
|
let g:spacevim_enable_guicolors = 1
|
|
<
|
|
|
|
*g:spacevim_enable_googlesuggest*
|
|
Enable/Disable Google suggestions for neocomplete. Default is 0.
|
|
>
|
|
let g:spacevim_enable_googlesuggest = 1
|
|
<
|
|
|
|
*g:spacevim_windows_leader*
|
|
Window functions leader for SpaceVim. Default is `s`. Set to empty to disable
|
|
this feature, or you can set to another char.
|
|
>
|
|
let g:spacevim_windows_leader = ''
|
|
<
|
|
|
|
*g:spacevim_unite_leader*
|
|
Unite work flow leader of SpaceVim. Default is `f`. Set to empty to disable
|
|
this feature, or you can set to another char.
|
|
|
|
*g:spacevim_plugin_bundle_dir*
|
|
Set the cache directory of plugins. Default is `~/.cache/vimfiles`.
|
|
>
|
|
let g:spacevim_plugin_bundle_dir = '~/.cache/vimplugs'
|
|
<
|
|
|
|
*g:spacevim_realtime_leader_guide*
|
|
Enable/Disable realtime leader guide. Default is 0.
|
|
>
|
|
let g:spacevim_realtime_leader_guide = 1
|
|
<
|
|
|
|
*g:spacevim_enable_neomake*
|
|
SpaceVim default checker is neomake. If you want to use syntastic, use:
|
|
>
|
|
let g:spacevim_enable_neomake = 0
|
|
<
|
|
|
|
*g:spacevim_guifont*
|
|
Set the guifont of SpaceVim. Default is empty.
|
|
>
|
|
let g:spacevim_guifont = 'DejaVu\ Sans\ Mono\ for\ Powerline\ 11'
|
|
<
|
|
|
|
*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_enable_cursorline*
|
|
Enable/Disable cursorline. Default is 0.
|
|
>
|
|
let g:spacevim_enable_cursorline = 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_vim_help_language*
|
|
Set the help language of vim. Default is 'en'. You can change it to Chinese.
|
|
>
|
|
let g:spacevim_vim_help_language = 'chinese'
|
|
<
|
|
|
|
*g:spacevim_language*
|
|
Set the message language of vim. Default is 'en_US.UTF-8'.
|
|
>
|
|
let g:spacevim_language = 'en_CA.utf8'
|
|
<
|
|
|
|
*g:spacevim_colorscheme*
|
|
The colorscheme of SpaceVim. Default is 'gruvbox'.
|
|
|
|
*g:spacevim_colorscheme_default*
|
|
The default colorscheme of SpaceVim. Default is 'desert'. This colorscheme
|
|
will be used if the colorscheme set by `g:spacevim_colorscheme` is not
|
|
installed.
|
|
>
|
|
let g:spacevim_colorscheme_default = 'other_color'
|
|
<
|
|
|
|
*g:spacevim_simple_mode*
|
|
Enable/disable simple mode of SpaceVim. Default is 0. In this mode, only few
|
|
plugins will be installed.
|
|
>
|
|
let g:spacevim_simple_mode = 1
|
|
<
|
|
|
|
*g:spacevim_filemanager*
|
|
The default file manager of SpaceVim. Default is 'vimfiler'.
|
|
|
|
*g:spacevim_plugin_manager*
|
|
The default plugin manager of SpaceVim. Default is 'dein'. Options are dein,
|
|
neobundle, or vim-plug.
|
|
|
|
*g:spacevim_checkinstall*
|
|
Enable/Disable checkinstall on SpaceVim startup. Default is 1.
|
|
>
|
|
let g:spacevim_checkinstall = 0
|
|
<
|
|
|
|
*g:spacevim_enable_debug*
|
|
Enable/Disable debug mode for SpaceVim. Default is 0.
|
|
>
|
|
let g:spacevim_enable_debug = 1
|
|
<
|
|
|
|
*g:spacevim_debug_level*
|
|
Set the debug level of SpaceVim. Default is 1.
|
|
|
|
*g:spacevim_plugin_groups*
|
|
Plugin groups to be loaded.
|
|
>
|
|
let g:spacevim_plugin_groups = ['core', 'lang']
|
|
<
|
|
|
|
*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_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_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_hosts_url*
|
|
The host file url. This option is for Chinese users who can not use Google and
|
|
Twitter.
|
|
|
|
==============================================================================
|
|
FUNCTIONS *SpaceVim-functions*
|
|
|
|
SpaceVim#layers#load({layer}) *SpaceVim#layers#load()*
|
|
Load the {layer} you want. For all the layers SpaceVim supports, see
|
|
|SpaceVim-layers|.
|
|
|
|
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 `~/.SpaceVim/.SpaceVim.log`.
|
|
|
|
==============================================================================
|
|
LAYERS *SpaceVim-layers*
|
|
|
|
SpaceVim support such layers:
|
|
|
|
==============================================================================
|
|
DEFAULT *SpaceVim-default*
|
|
|
|
==============================================================================
|
|
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 atom very well.
|
|
|
|
SpaceVim is not gonna fix them since these should be in charge of each author.
|
|
You can see a list which has no support of spell check in here:
|
|
https://github.com/SpaceVim/SpaceVim/issues/209#issuecomment-280545818
|
|
|
|
|
|
>
|
|
anderson
|
|
apprentice
|
|
atom
|
|
base16-3024
|
|
base16-apathy
|
|
base16-ashes
|
|
base16-atelier-cave
|
|
base16-atelier-dune
|
|
base16-atelier-estuary
|
|
base16-atelier-forest
|
|
base16-atelier-heath
|
|
base16-atelier-lakeside
|
|
base16-atelier-plateau
|
|
base16-atelier-savanna
|
|
base16-atelier-seaside
|
|
base16-atelier-sulphurpool
|
|
base16-bespin
|
|
base16-brewer
|
|
base16-bright
|
|
base16-chalk
|
|
base16-codeschool
|
|
base16-cupcake
|
|
base16-darktooth
|
|
base16-default-dark
|
|
base16-default-light
|
|
base16-dracula
|
|
base16-eighties
|
|
base16-embers
|
|
base16-flat
|
|
base16-github
|
|
base16-google-dark
|
|
base16-google-light
|
|
base16-grayscale-dark
|
|
base16-grayscale-light
|
|
base16-green-screen
|
|
base16-harmonic16-dark
|
|
base16-harmonic16-light
|
|
base16-hopscotch
|
|
base16-ir-black
|
|
base16-isotope
|
|
base16-london-tube
|
|
base16-macintosh
|
|
base16-marrakesh
|
|
base16-materia
|
|
base16-mexico-light
|
|
base16-mocha
|
|
base16-monokai
|
|
base16-ocean
|
|
base16-oceanicnext
|
|
base16-onedark
|
|
base16-paraiso
|
|
base16-phd
|
|
base16-pico
|
|
base16-pop
|
|
base16-railscasts
|
|
base16-seti-ui
|
|
base16-shapeshifter
|
|
base16-solar-flare
|
|
base16-solarized-dark
|
|
base16-solarized-light
|
|
base16-spacemacs
|
|
base16-summerfruit-dark
|
|
base16-summerfruit-light
|
|
base16-tomorrow
|
|
base16-tomorrow-night
|
|
base16-twilight
|
|
base16-unikitty-dark
|
|
base16-unikitty-light
|
|
base16-woodland
|
|
blue
|
|
darkblue
|
|
default
|
|
delek
|
|
desert
|
|
elflord
|
|
evening
|
|
flatcolor
|
|
flattened_dark
|
|
flattened_light
|
|
focuspoint
|
|
gruvbox
|
|
hybrid
|
|
hybrid-material
|
|
hybrid_material
|
|
hybrid_reverse
|
|
industry
|
|
janah
|
|
jellybeans
|
|
koehler
|
|
lightning
|
|
lucius
|
|
molokai
|
|
molokayo
|
|
morning
|
|
murphy
|
|
OceanicNext
|
|
OceanicNextLight
|
|
onedark
|
|
pablo
|
|
PaperColor
|
|
parsec
|
|
peachpuff
|
|
pyte
|
|
rdark-terminal2
|
|
ron
|
|
scheakur
|
|
seoul256
|
|
seoul256-light
|
|
shine
|
|
slate
|
|
solarized
|
|
torte
|
|
twilight256
|
|
wombat256mod
|
|
yowish
|
|
zellner
|
|
<
|
|
|
|
==============================================================================
|
|
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
|
|
<
|
|
|
|
==============================================================================
|
|
INDENTMOVE *SpaceVim-layer-indentmove*
|
|
|
|
Move cursor quickly according to indent.
|
|
|
|
MAPPINGS
|
|
|
|
>
|
|
Key mode function
|
|
-----------------------------------------------------------------
|
|
EH normal/visual move up to nearest line with smaller
|
|
indent level
|
|
EL normal/visual move down to nearest line with larger
|
|
indent level
|
|
EJ normal/visual move down to nearest line with smaller
|
|
or same indent level
|
|
EK normal/visual move down to nearest line with larger
|
|
or same indent level
|
|
EI normal/visual move down to nearest child indent
|
|
<
|
|
|
|
|
|
|
|
==============================================================================
|
|
LANG#C *SpaceVim-layer-lang-c*
|
|
|
|
This layer provides C family language code completion and syntax checking.
|
|
Requires clang.
|
|
|
|
Configuration for `tweekmonster/deoplete-clang2`:
|
|
|
|
1. Set the compile flags:
|
|
|
|
`let g:deoplete#sources#clang#flags = ['-Iwhatever', ...]`
|
|
|
|
2. Set the path to the clang executable:
|
|
|
|
`let g:deoplete#sources#clang#executable = '/usr/bin/clang'
|
|
|
|
3. `g:deoplete#sources#clang#autofill_neomake` is a boolean that tells this
|
|
plugin to fill in the `g:neomake_<filetype>_clang_maker` variable with the
|
|
clang executable path and flags. You will still need to enable it with
|
|
`g:neomake_<filetype>_enabled_make=['clang']`.
|
|
|
|
4. Set the standards for each language: `g:deoplete#sources#clang#std` is a
|
|
dict containing the standards you want to use. It's not used if you
|
|
already have `-std=whatever` in your flags. The defaults are:
|
|
|
|
>
|
|
{
|
|
'c': 'c11',
|
|
'cpp': 'c++1z',
|
|
'objc': 'c11',
|
|
'objcpp': 'c++1z',
|
|
}
|
|
<
|
|
5. `g:deoplete#sources#clang#preproc_max_lines` sets the maximum number of
|
|
lines to search for an #ifdef or #endif line. #ifdef lines are discarded
|
|
to get completions within conditional preprocessor blocks. The default is
|
|
50, setting it to 0 disables this feature.
|
|
|
|
|
|
==============================================================================
|
|
LANG#ELIXIR *SpaceVim-layer-lang-elixir*
|
|
|
|
INTRO
|
|
The lang#elixir layer provides code completion, documentation lookup, jump to
|
|
definition, mix integration, and iex integration for Elixir. SpaceVim uses
|
|
neomake as default syntax checker which is loaded in |SpaceVim-layer-checkers|
|
|
|
|
==============================================================================
|
|
LANG#GO *SpaceVim-layer-lang-go*
|
|
|
|
This layer includes code completion and syntax checking for Go development.
|
|
|
|
MAPPINGS
|
|
|
|
>
|
|
Mode Key Function
|
|
---------------------------------------------
|
|
normal <leader>gi go implements
|
|
normal <leader>gf go info
|
|
normal <leader>ge go rename
|
|
normal <leader>gr go run
|
|
normal <leader>gb go build
|
|
normal <leader>gt go test
|
|
normal <leader>gd go doc
|
|
normal <leader>gv go doc vertical
|
|
normal <leader>gco go coverage
|
|
<
|
|
|
|
==============================================================================
|
|
LANG#JAVA *SpaceVim-layer-lang-java*
|
|
|
|
This layer is for Java development.
|
|
|
|
MAPPINGS
|
|
|
|
>
|
|
Import mappings:
|
|
|
|
Mode Key Function
|
|
-------------------------------------------------------------
|
|
normal <F4> import class under cursor
|
|
insert <F4> import class under cursor
|
|
normal <leader>jI import missing classes
|
|
normal <leader>jR remove unused imports
|
|
normal <leader>ji smart import class under cursor
|
|
normal <leader>jii same as <F4>
|
|
insert <c-j>I import missing imports
|
|
insert <c-j>R remove unused imports
|
|
insert <c-j>i smart import class under cursor
|
|
insert <c-j>ii add import for class under cursor
|
|
|
|
Generate mappings:
|
|
|
|
Mode Key Function
|
|
-------------------------------------------------------------
|
|
normal <leader>jA generate accessors
|
|
normal <leader>js generate setter accessor
|
|
normal <leader>jg generate getter accessor
|
|
normal <leader>ja generate setter and getter accessor
|
|
normal <leader>jts generate toString function
|
|
normal <leader>jeq generate equals and hashcode function
|
|
normal <leader>jc generate constructor
|
|
normal <leader>jcc generate default constructor
|
|
insert <c-j>s generate setter accessor
|
|
insert <c-j>g generate getter accessor
|
|
insert <c-j>a generate getter and setter accessor
|
|
visual <leader>js generate setter accessor
|
|
visual <leader>jg generate getter accessor
|
|
visual <leader>ja generate setter and getter accessor
|
|
<
|
|
|
|
|
|
==============================================================================
|
|
LANG#OCAML *SpaceVim-layer-lang-ocaml*
|
|
|
|
OCaml autocompletion provided by merlin.
|
|
|
|
Requirements:
|
|
>
|
|
opam
|
|
merlin
|
|
<
|
|
|
|
==============================================================================
|
|
LANG#PHP *SpaceVim-layer-lang-php*
|
|
|
|
This layer is for PHP development. It proides code completion, syntax
|
|
checking, and jump to definition.
|
|
|
|
Requirements:
|
|
>
|
|
PHP 5.3+
|
|
PCNTL Extension
|
|
Msgpack 0.5.7+(for NeoVim)Extension: https://github.com/msgpack/msgpack-php
|
|
JSON(for Vim 7.4+)Extension
|
|
Composer Project
|
|
<
|
|
|
|
==============================================================================
|
|
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#RUST *SpaceVim-layer-lang-rust*
|
|
|
|
SpaceVim does not load this layer by default. If you are a rust developer, you
|
|
should add `call SpaceVim#layers#load('lang#rust')` to your |SpaceVim-config|
|
|
|
|
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 racer:
|
|
|
|
>
|
|
cargo install racer
|
|
<
|
|
3. Set the RUST_SRC_PATH variable in your .bashrc:
|
|
|
|
>
|
|
RUST_SRC_PATH=~/.multirust/toolchains/<change>/lib/rustlib/src/rust/src
|
|
export RUST_SRC_PATH
|
|
<
|
|
4. Add racer to your path, or set the path with:
|
|
|
|
>
|
|
let g:racer_cmd = "/path/to/racer/bin"
|
|
<
|
|
|
|
MAPPINGS
|
|
|
|
>
|
|
Mode Key Function
|
|
-----------------------------------------------
|
|
normal gd rust-definition
|
|
normal gs rust-definition-split
|
|
normal gx rust-definition-vertical
|
|
normal <leader>gd rust-doc
|
|
<
|
|
|
|
==============================================================================
|
|
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.
|
|
|
|
==============================================================================
|
|
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|.
|
|
|
|
==============================================================================
|
|
FAQ *SpaceVim-faq*
|
|
|
|
1. How do I enable YouCompleteMe?
|
|
|
|
>
|
|
I do not recommend using YouCompleteMe.
|
|
It is too big as a vim plugin. Also, I do not like using submodules in a vim
|
|
plugin. It is hard to manage with a plugin manager.
|
|
|
|
Step 1: Add `let g:spacevim_enable_ycm = 1` to custom_config. By default
|
|
it should be `~/.SpaceVim/init.vim`.
|
|
|
|
Step 2: Get into the directory of YouCompleteMe's author. By default it
|
|
should be `~/.cache/vimfiles/repos/github.com/Valloric/`. If you find the
|
|
directory `YouCompleteMe` in it, go into it. Otherwise clone
|
|
YouCompleteMe repo by
|
|
`git clone https://github.com/Valloric/YouCompleteMe.git`. After cloning,
|
|
get into it and run `git submodule update --init --recursive`.
|
|
|
|
Step 3: Compile YouCompleteMe with the features you want. If you just want
|
|
C family support, run `./install.py --clang-completer`.
|
|
<
|
|
|
|
2. How to add custom snippet?
|
|
|
|
>
|
|
SpaceVim uses neosnippet as the default snippet engine. If you want to add
|
|
a snippet for a vim filetype, open a vim file and run `:NeoSnippetEdit`
|
|
command. A buffer will be opened and you can add your custom snippet.
|
|
By default this buffer will be save in `~/.SpaceVim/snippets`.
|
|
If you want to use another directory:
|
|
|
|
let g:neosnippet#snippets_directory = '~/path/to/snip_dir'
|
|
|
|
For more info about how to write snippet, please
|
|
read |neosnippet-snippet-syntax|.
|
|
<
|
|
|
|
3. Where is `<c-f>` in cmdline-mode?
|
|
|
|
>
|
|
`<c-f>` is the default value of |cedit| option, but in SpaceVim we use that
|
|
binding as `<Right>`, so maybe you can change the `cedit` option or use
|
|
`<leader>+<c-f>`.
|
|
<
|
|
|
|
|
|
vim:tw=78:ts=8:ft=help:norl:
|