diff options
Diffstat (limited to 'runtime/doc/provider.txt')
| -rw-r--r-- | runtime/doc/provider.txt | 89 |
1 files changed, 70 insertions, 19 deletions
diff --git a/runtime/doc/provider.txt b/runtime/doc/provider.txt index 3cd53e3e50..50307ccbf3 100644 --- a/runtime/doc/provider.txt +++ b/runtime/doc/provider.txt @@ -1,4 +1,4 @@ -*provider.txt* {Nvim} +*provider.txt* Nvim NVIM REFERENCE MANUAL by Thiago de Arruda @@ -8,6 +8,8 @@ Providers *provider* Nvim delegates some features to dynamic "providers". + Type <M-]> to see the table of contents. + ============================================================================== Python integration *provider-python* @@ -49,7 +51,8 @@ Note: The `--upgrade` flag ensures you have the latest version even if PYTHON PROVIDER CONFIGURATION ~ *g:python_host_prog* *g:python3_host_prog* -Program to use for evaluating Python code. Setting this makes startup faster. > +Program to use for evaluating Python code. Setting this makes startup faster. +Also useful for working with virtualenvs. > let g:python_host_prog = '/path/to/python' let g:python3_host_prog = '/path/to/python3' < @@ -61,6 +64,23 @@ To disable Python 2 support: > To disable Python 3 support: > let g:loaded_python3_provider = 1 +PYTHON VIRTUALENVS ~ + +If you plan to use per-project virtualenvs often, you should assign +a virtualenv for Neovim and hard-code the interpreter path via +|g:python_host_prog| (or |g:python3_host_prog|) so that the "neovim" python +package is not required for each Environment. Example using pyenv: > + pyenv install 3.4.4 + pyenv virtualenv 3.4.4 py3neovim + pyenv activate py3neovim + pip install neovim + pyenv which python # Note the path + +The last command reports the interpreter path. Add it to your init.vim: > + let g:python3_host_prog = '/full/path/to/py3neovim/bin/python' + +More information: +https://github.com/zchee/deoplete-jedi/wiki/Setting-up-Python-for-Neovim ============================================================================== Ruby integration *provider-ruby* @@ -79,34 +99,65 @@ RUBY PROVIDER CONFIGURATION ~ *g:loaded_ruby_provider* To disable Ruby support: > let g:loaded_ruby_provider = 1 +< + *g:ruby_host_prog* +Command to start the Ruby host. By default this is `neovim-ruby-host`. For users +who use per-project Ruby versions with tools like RVM or rbenv, setting this can +prevent the need to install the `neovim` gem in every project. + +To use an absolute path (e.g. to an rbenv installation): > + let g:ruby_host_prog = '~/.rbenv/versions/2.4.1/bin/neovim-ruby-host' +< +To use the RVM "system" Ruby installation: > + let g:ruby_host_prog = 'rvm system do neovim-ruby-host' +< ============================================================================== Clipboard integration *provider-clipboard* *clipboard* -Nvim has no direct connection to the system clipboard. Instead it is -accessible through a |provider| which transparently uses shell commands for -communicating with the clipboard. +Nvim has no direct connection to the system clipboard. Instead it depends on +a |provider| which transparently uses shell commands to communicate with the +system clipboard or any other clipboard "backend". -Clipboard access is implicitly enabled if any of the following clipboard tools -are found in your `$PATH`. +To ALWAYS use the clipboard for ALL operations (instead of interacting with +the '+' and/or '*' registers explicitly): > + set clipboard+=unnamedplus +< +See 'clipboard' for details and options. + + *clipboard-tool* +The presence of a working clipboard tool implicitly enables the '+' and '*' +registers. Nvim looks for these clipboard tools, in order of priority: + + - |g:clipboard| + - pbcopy/pbpaste (macOS) - xclip - xsel (newer alternative to xclip) - - pbcopy/pbpaste (Mac OS X) - lemonade (for SSH) https://github.com/pocke/lemonade - doitclient (for SSH) http://www.chiark.greenend.org.uk/~sgtatham/doit/ - -The presence of a suitable clipboard tool implicitly enables the '+' and '*' -registers. - -If you want to ALWAYS use the clipboard for ALL operations (as opposed -to interacting with the '+' and/or '*' registers explicitly), set the -following option: -> - set clipboard+=unnamedplus -< -See 'clipboard' for details and more options. + - win32yank (Windows) + - tmux (if $TMUX is set) + + *g:clipboard* +To configure a custom clipboard tool, set `g:clipboard` to a dictionary: > + let g:clipboard = { + \ 'name': 'myClipboard', + \ 'copy': { + \ '+': 'tmux load-buffer -', + \ '*': 'tmux load-buffer -', + \ }, + \ 'paste': { + \ '+': 'tmux save-buffer -', + \ '*': 'tmux save-buffer -', + \ }, + \ 'cache_enabled': 1, + \ } + +If `cache_enabled` is |TRUE| then when a selection is copied, Nvim will cache +the selection until the copy command process dies. When pasting, if the copy +process has not died, the cached selection is applied. ============================================================================== X11 selection mechanism *clipboard-x11* *x11-selection* |