From c1d8b1e26610819a3ab4b98190b52c7c8ff9ced6 Mon Sep 17 00:00:00 2001 From: Roman Volosatovs Date: Thu, 20 Sep 2018 09:05:33 +0200 Subject: [PATCH] doc: Add section about vim-plug --- doc/languages-frameworks/vim.section.md | 50 ++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/doc/languages-frameworks/vim.section.md b/doc/languages-frameworks/vim.section.md index f0a6559c3d5..9c7d21a5a02 100644 --- a/doc/languages-frameworks/vim.section.md +++ b/doc/languages-frameworks/vim.section.md @@ -59,7 +59,7 @@ vim_configurable.customize { } ``` -For Neovim the syntax is +For Neovim the syntax is: ``` neovim.override { @@ -96,6 +96,54 @@ The resulting package can be added to `packageOverrides` in `~/.nixpkgs/config.n After that you can install your special grafted `myVim` or `myNeovim` packages. +## Managing plugins with vim-plug + +To use vim-plug to manage your Vim plugins the following example can be used: + +``` +vim_configurable.customize { + vimrcConfig.packages.myVimPackage = with pkgs.vimPlugins; { + # loaded on launch + plug.plugins = [ youcompleteme fugitive phpCompletion elm-vim ]; + }; +} +``` + +For Neovim the syntax is: + +``` +neovim.override { + configure = { + customRC = '' + # here your custom configuration goes! + ''; + plug.plugins = with pkgs.vimPlugins; [ + vim-go + ]; + }; +} +``` + +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