doc/vim: improve plugin documentation
This commit is contained in:
parent
182f1fc2c8
commit
97acac9a81
@ -5,11 +5,16 @@ date: 2016-06-25
|
|||||||
---
|
---
|
||||||
# User's Guide to Vim Plugins/Addons/Bundles/Scripts in Nixpkgs
|
# User's Guide to Vim Plugins/Addons/Bundles/Scripts in Nixpkgs
|
||||||
|
|
||||||
You'll get a vim(-your-suffix) in PATH also loading the plugins you want.
|
Both Neovim and Vim can be configured to include your favorite plugins
|
||||||
|
and additional libraries.
|
||||||
|
|
||||||
Loading can be deferred; see examples.
|
Loading can be deferred; see examples.
|
||||||
|
|
||||||
Vim packages, VAM (=vim-addon-manager) and Pathogen are supported to load
|
At the moment we support three different methods for managing plugins:
|
||||||
packages.
|
|
||||||
|
- Vim packages (*recommend*)
|
||||||
|
- VAM (=vim-addon-manager)
|
||||||
|
- Pathogen
|
||||||
|
|
||||||
## Custom configuration
|
## Custom configuration
|
||||||
|
|
||||||
@ -25,7 +30,19 @@ vim_configurable.customize {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Vim packages
|
For Neovim the `configure` argument can be overridden to achieve the same:
|
||||||
|
|
||||||
|
```
|
||||||
|
neovim.override {
|
||||||
|
configure = {
|
||||||
|
customRC = ''
|
||||||
|
# here your custom configuration goes!
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Managing plugins with Vim packages
|
||||||
|
|
||||||
To store you plugins in Vim packages the following example can be used:
|
To store you plugins in Vim packages the following example can be used:
|
||||||
|
|
||||||
@ -38,13 +55,50 @@ vim_configurable.customize {
|
|||||||
opt = [ phpCompletion elm-vim ];
|
opt = [ phpCompletion elm-vim ];
|
||||||
# To automatically load a plugin when opening a filetype, add vimrc lines like:
|
# To automatically load a plugin when opening a filetype, add vimrc lines like:
|
||||||
# autocmd FileType php :packadd phpCompletion
|
# autocmd FileType php :packadd phpCompletion
|
||||||
}
|
};
|
||||||
};
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## VAM
|
For Neovim the syntax is
|
||||||
|
|
||||||
### dependencies by Vim plugins
|
```
|
||||||
|
neovim.override {
|
||||||
|
configure = {
|
||||||
|
customRC = ''
|
||||||
|
# here your custom configuration goes!
|
||||||
|
'';
|
||||||
|
packages.myVimPackage = with pkgs.vimPlugins; {
|
||||||
|
# see examples below how to use custom packages
|
||||||
|
start = [ ];
|
||||||
|
opt = [ ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
The resulting package can be added to `packageOverrides` in `~/.nixpkgs/config.nix` to make it installable:
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
packageOverrides = pkgs: with pkgs; {
|
||||||
|
myVim = vim_configurable.customize {
|
||||||
|
name = "vim-with-plugins";
|
||||||
|
# add here code from the example section
|
||||||
|
};
|
||||||
|
myNeovim = neovim.override {
|
||||||
|
configure = {
|
||||||
|
# add here code from the example section
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
After that you can install your special grafted `myVim` or `myNeovim` packages.
|
||||||
|
|
||||||
|
## Managing plugins with VAM
|
||||||
|
|
||||||
|
### Handling dependencies of Vim plugins
|
||||||
|
|
||||||
VAM introduced .json files supporting dependencies without versioning
|
VAM introduced .json files supporting dependencies without versioning
|
||||||
assuming that "using latest version" is ok most of the time.
|
assuming that "using latest version" is ok most of the time.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user