mirror of
https://github.com/junegunn/vim-plug.git
synced 2024-12-19 18:47:29 -07:00
Updated faq (markdown)
parent
4d31f16955
commit
e8eae15f4b
175
faq.md
175
faq.md
@ -1,83 +1,94 @@
|
||||
## FAQ/Troubleshooting
|
||||
|
||||
### Migrating from other plugin managers
|
||||
|
||||
vim-plug does not require any extra statement other than `plug#begin()` and
|
||||
`plug#end()`. You can remove `filetype off`, `filetype plugin indent on` and
|
||||
`syntax on` from your .vimrc as they are automatically handled by
|
||||
`plug#end()`.
|
||||
|
||||
### Plugins are not installed/updated in parallel
|
||||
|
||||
Your Vim does not support Ruby interface. `:echo has('ruby')` should print 1.
|
||||
|
||||
In order to setup Vim with Ruby support, you may refer to [this
|
||||
page](https://github.com/junegunn/vim-plug/wiki/ruby).
|
||||
|
||||
### *Vim: Caught deadly signal SEGV*
|
||||
|
||||
If your Vim crashes with the above message, first check if its Ruby interface is
|
||||
working correctly with the following command:
|
||||
|
||||
```vim
|
||||
:ruby puts RUBY_VERSION
|
||||
```
|
||||
|
||||
If Vim crashes even with this command, it is likely that Ruby interface is
|
||||
broken, and you have to rebuild Vim with a working version of Ruby.
|
||||
(`brew remove vim && brew install vim` or `./configure && make ...`)
|
||||
|
||||
If you're on OS X, one possibility is that you had installed Vim with
|
||||
[Homebrew](http://brew.sh/) while using a Ruby installed with
|
||||
[RVM](http://rvm.io/) or [rbenv](https://github.com/sstephenson/rbenv) and later
|
||||
removed that version of Ruby.
|
||||
|
||||
[Please let me know](https://github.com/junegunn/vim-plug/issues) if you can't
|
||||
resolve the problem. In the meantime, you can set `g:plug_threads` to 1, so that
|
||||
Ruby installer is not used at all.
|
||||
|
||||
### Errors on fish shell
|
||||
|
||||
If vim-plug doesn't work correctly on fish shell, you might need to add `set
|
||||
shell=/bin/sh` to your .vimrc.
|
||||
|
||||
Refer to the following links for the details:
|
||||
- http://badsimplicity.com/vim-fish-e484-cant-open-file-tmpvrdnvqe0-error/
|
||||
- https://github.com/junegunn/vim-plug/issues/12
|
||||
|
||||
### Freezing plugin version with commit hash
|
||||
|
||||
vim-plug does not allow you to freeze the version of a plugin with its commit
|
||||
hash. This is by design. I don't believe a user of a plugin should be looking
|
||||
at its individual commits. Instead, one should be choosing the right version
|
||||
using release tags or versioned branches (e.g. 1.2.3, stable, devel, etc.)
|
||||
|
||||
```vim
|
||||
Plug 'junegunn/vim-easy-align', '2.9.2'
|
||||
```
|
||||
|
||||
If the repository doesn't come with such tags or branches, you should think of
|
||||
it as "unstable" or "in development", and always use its latest revision.
|
||||
|
||||
If you really must choose a certain untagged revision, consider forking the
|
||||
repository.
|
||||
|
||||
### Does vim-plug generate help tags for my plugins?
|
||||
|
||||
Yes, it automatically generates help tags for all of your plugins whenever you run `PlugInstall` or `PlugUpdate`. But you can regenerate help tags only with `plug#helptags()` function.
|
||||
|
||||
### Loading plugins manually
|
||||
|
||||
With `on` and `for` options, vim-plug allows you to defer loading of plugins. But if you want a plugin to be loaded on an event that is not supported by vim-plug, you can set `on` or `for` option to an empty list, and use `plug#load(names...)` function later to load the plugin manually. The following example will load [ultisnips](https://github.com/SirVer/ultisnips) and [YouCompleteMe](https://github.com/Valloric/YouCompleteMe) first time you enter insert mode.
|
||||
|
||||
```vim
|
||||
" Load on nothing
|
||||
Plug 'SirVer/ultisnips', { 'on': [] }
|
||||
Plug 'Valloric/YouCompleteMe', { 'on': [] }
|
||||
|
||||
augroup load_us_ycm
|
||||
autocmd!
|
||||
autocmd InsertEnter * call plug#load('ultisnips', 'YouCompleteMe')
|
||||
\| call youcompleteme#Enable() | autocmd! load_us_ycm
|
||||
augroup END
|
||||
## FAQ/Troubleshooting
|
||||
|
||||
### Migrating from other plugin managers
|
||||
|
||||
vim-plug does not require any extra statement other than `plug#begin()` and
|
||||
`plug#end()`. You can remove `filetype off`, `filetype plugin indent on` and
|
||||
`syntax on` from your .vimrc as they are automatically handled by
|
||||
`plug#end()`.
|
||||
|
||||
### Plugins are not installed/updated in parallel
|
||||
|
||||
Your Vim does not support Ruby interface. `:echo has('ruby')` should print 1.
|
||||
|
||||
In order to setup Vim with Ruby support, you may refer to [this
|
||||
page](https://github.com/junegunn/vim-plug/wiki/ruby).
|
||||
|
||||
### *Vim: Caught deadly signal SEGV*
|
||||
|
||||
If your Vim crashes with the above message, first check if its Ruby interface is
|
||||
working correctly with the following command:
|
||||
|
||||
```vim
|
||||
:ruby puts RUBY_VERSION
|
||||
```
|
||||
|
||||
If Vim crashes even with this command, it is likely that Ruby interface is
|
||||
broken, and you have to rebuild Vim with a working version of Ruby.
|
||||
(`brew remove vim && brew install vim` or `./configure && make ...`)
|
||||
|
||||
If you're on OS X, one possibility is that you had installed Vim with
|
||||
[Homebrew](http://brew.sh/) while using a Ruby installed with
|
||||
[RVM](http://rvm.io/) or [rbenv](https://github.com/sstephenson/rbenv) and later
|
||||
removed that version of Ruby.
|
||||
|
||||
[Please let me know](https://github.com/junegunn/vim-plug/issues) if you can't
|
||||
resolve the problem. In the meantime, you can set `g:plug_threads` to 1, so that
|
||||
Ruby installer is not used at all.
|
||||
|
||||
### Errors on fish shell
|
||||
|
||||
If vim-plug doesn't work correctly on fish shell, you might need to add `set
|
||||
shell=/bin/sh` to your .vimrc.
|
||||
|
||||
Refer to the following links for the details:
|
||||
- http://badsimplicity.com/vim-fish-e484-cant-open-file-tmpvrdnvqe0-error/
|
||||
- https://github.com/junegunn/vim-plug/issues/12
|
||||
|
||||
### Freezing plugin version with commit hash
|
||||
|
||||
vim-plug does not allow you to freeze the version of a plugin with its commit
|
||||
hash. This is by design. I don't believe a user of a plugin should be looking
|
||||
at its individual commits. Instead, one should be choosing the right version
|
||||
using release tags or versioned branches (e.g. 1.2.3, stable, devel, etc.)
|
||||
|
||||
```vim
|
||||
Plug 'junegunn/vim-easy-align', '2.9.2'
|
||||
```
|
||||
|
||||
If the repository doesn't come with such tags or branches, you should think of
|
||||
it as "unstable" or "in development", and always use its latest revision.
|
||||
|
||||
If you really must choose a certain untagged revision, consider forking the
|
||||
repository.
|
||||
|
||||
### Does vim-plug generate help tags for my plugins?
|
||||
|
||||
Yes, it automatically generates help tags for all of your plugins whenever you run `PlugInstall` or `PlugUpdate`. But you can regenerate help tags only with `plug#helptags()` function.
|
||||
|
||||
### Loading plugins manually
|
||||
|
||||
With `on` and `for` options, vim-plug allows you to defer loading of plugins. But if you want a plugin to be loaded on an event that is not supported by vim-plug, you can set `on` or `for` option to an empty list, and use `plug#load(names...)` function later to load the plugin manually. The following example will load [ultisnips](https://github.com/SirVer/ultisnips) and [YouCompleteMe](https://github.com/Valloric/YouCompleteMe) first time you enter insert mode.
|
||||
|
||||
```vim
|
||||
" Load on nothing
|
||||
Plug 'SirVer/ultisnips', { 'on': [] }
|
||||
Plug 'Valloric/YouCompleteMe', { 'on': [] }
|
||||
|
||||
augroup load_us_ycm
|
||||
autocmd!
|
||||
autocmd InsertEnter * call plug#load('ultisnips', 'YouCompleteMe')
|
||||
\| call youcompleteme#Enable() | autocmd! load_us_ycm
|
||||
augroup END
|
||||
```
|
||||
|
||||
### Automatic installation
|
||||
|
||||
Place the following code in your .vimrc before `plug#begin()` call
|
||||
|
||||
```vim
|
||||
if empty(glob('~/.vim/autoload/plug.vim'))
|
||||
!curl --insecure -fLo ~/.vim/autoload/plug.vim
|
||||
\ https://raw.github.com/junegunn/vim-plug/master/plug.vim
|
||||
endif
|
||||
```
|
Loading…
Reference in New Issue
Block a user