From 9e8410e1b934d0b0741772722b6d444a1fb461bd Mon Sep 17 00:00:00 2001 From: Caleb Maclennan Date: Tue, 24 May 2016 19:39:07 +0300 Subject: [PATCH] Overhaul installation instructions See discussion in #241 --- README.md | 167 ++++++++++++++++++++++++------------------------------ 1 file changed, 75 insertions(+), 92 deletions(-) diff --git a/README.md b/README.md index b6a899c..59cd4f8 100644 --- a/README.md +++ b/README.md @@ -1,130 +1,113 @@ -# Installation - -The NERD Commenter requires Vim 7 or higher is comprised of 2 files: - - plugin/NERD_commenter.vim - doc/NERD_commenter.txt +# Installation ## Via Plugin Manager (Recommended) -#### Pathogen Install +### [Vim-Plug](https://github.com/junegunn/vim-plug) -###### Unix - -```sh -git clone https://github.com/scrooloose/nerdcommenter.git ~/.vim/bundle -``` - -###### Neovim - -```sh -git clone https://github.com/scrooloose/nerdcommenter.git ~/.config/nvim/bundle -``` - -#### Vim-Plug Install -1. Add `Plug 'Plug scrooloose/nerdcommenter'` to your .vimrc file. -2. Reload .vimrc (`:so %` from vimrc, or just restart vim) +1. Add `Plug 'Plug scrooloose/nerdcommenter'` to your vimrc file. +2. Reload your vimrc or restart 3. Run `:PlugInstall` -#### Vundle Install -1. Add `Plugin 'scrooloose/nerdcommenter'` to your .vimrc file. -2. Run `:BundleInstall` +### [Vundle](https://github.com/VundleVim/Vundle.vim) or similar -#### NeoBundle Install -1. Add `NeoBundle 'scrooloose/nerdcommenter'` to your .vimrc file. -2. Run `:NeoUpdate`` +1. Add `Plugin 'scrooloose/nerdcommenter'` to your vimrc file. +2. Reload your vimrc or restart +3. Run `:BundleInstall` -#### Post Install -After the **'Classic'** or **'Pathogen'** install, make sure that you have filetype plugins enabled, as the script makes use of -**|'commentstring'|** where possible (which is usually set in a filetype plugin). -See **|filetype-plugin-on|** for details, but basically, stick this in your vimrc: +### [NeoBundle](https://github.com/Shougo/neobundle.vim) - filetype plugin on +1. Add `NeoBundle 'scrooloose/nerdcommenter'` to your vimrc file. +2. Reload your vimrc or restart +3. Run `:NeoUpdate`` -## Install Manually - -#### Vim - -###### Unix +### [Pathogen](https://github.com/tpope/vim-pathogen) ```sh -git clone https://github.com/scrooloose/nerdcommenter.git ~/.vim/plugin +cd ~/.vim/bundle +git clone https://github.com/scrooloose/nerdcommenter.git ``` -###### Windows (PowerShell) +## Manual Installation + +### Unix + +(For Neovim, change `~/.vim/` to `~/.config/nvim/`.) + +```sh +curl -fLo ~/.vim/plugin/NERD_Commenter.vim --create-dirs \ + https://raw.githubusercontent.com/scrooloose/nerdcommenter/master/plugin/NERD_commenter.vim +curl -fLo ~/.vim/doc/NERD_Commenter.txt --create-dirs \ + https://raw.githubusercontent.com/scrooloose/nerdcommenter/master/doc/NERD_commenter.txt +``` + +### Windows (PowerShell) ```powershell md ~\vimfiles\plugin -$uri = 'https://raw.githubusercontent.com/scrooloose/nerdcommenter/master/plugin/NERD_commenter.vim' -(New-Object Net.WebClient).DownloadFile($uri, $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("~\vimfiles\autoload\NERD_commenter.vim")) +md ~\vimfiles\doc +$pluguri = 'https://raw.githubusercontent.com/scrooloose/nerdcommenter/master/plugin/NERD_commenter.vim' +$docsuri = 'https://raw.githubusercontent.com/scrooloose/nerdcommenter/master/doc/NERD_commenter.txt' +(New-Object Net.WebClient).DownloadFile($uri, $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("~\vimfiles\plugin\NERD_commenter.vim")) +(New-Object Net.WebClient).DownloadFile($uri, $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("~\vimfiles\doc\NERD_commenter.txt")) ``` -#### Neovim +## Post Installation + +Make sure that you have filetype plugins enabled, as the plugin makes use of +**|commentstring|** where possible (which is usually set in a filetype plugin). +See **|filetype-plugin-on|** for details, but the short version is make sure this line appears in your vimrc: ```sh -git clone https://github.com/scrooloose/nerdcommenter.git ~/.config/nvim/plugin +filetype plugin on ``` +# Usage -# Usage +The following key mappings are provided by default (there is also a menu +provided that contains menu items corresponding to all the below mappings): -The following key mappings are provided by default (there is also a menu -provided that contains menu items corresponding to all the below mappings): +Most of the following mappings are for normal/visual mode only. The |NERDComInsertComment| mapping is for insert mode only. -Most of the following mappings are for normal/visual mode only. The |NERDComInsertComment| mapping is for insert mode only. +**[count]\cc |NERDComComment|** +Comment out the current line or text selected in visual mode. -**[count]\cc |NERDComComment|** -Comment out the current line or text selected in visual mode. +**[count]\cn |NERDComNestedComment|** +Same as \cc but forces nesting. +**[count]\c\ |NERDComToggleComment|** +Toggles the comment state of the selected line(s). If the topmost selected +line is commented, all selected lines are uncommented and vice versa. -**[count]\cn |NERDComNestedComment|** -Same as \cc but forces nesting. +**[count]\cm |NERDComMinimalComment|** +Comments the given lines using only one set of multipart delimiters. +**[count]\ci |NERDComInvertComment|** +Toggles the comment state of the selected line(s) individually. -**[count]\c\ |NERDComToggleComment|** -Toggles the comment state of the selected line(s). If the topmost selected -line is commented, all selected lines are uncommented and vice versa. +**[count]\cs |NERDComSexyComment|** +Comments out the selected lines ``sexily'' +**[count]\cy |NERDComYankComment|** +Same as \cc except that the commented line(s) are yanked first. -**[count]\cm |NERDComMinimalComment|** -Comments the given lines using only one set of multipart delimiters. +**\c$ |NERDComEOLComment|** +Comments the current line from the cursor to the end of line. +**\cA |NERDComAppendComment|** +Adds comment delimiters to the end of line and goes into insert mode between +them. -**[count]\ci |NERDComInvertComment|** -Toggles the comment state of the selected line(s) individually. +**|NERDComInsertComment|** +Adds comment delimiters at the current cursor position and inserts between. +Disabled by default. +**\ca |NERDComAltDelim|** +Switches to the alternative set of delimiters. -**[count]\cs |NERDComSexyComment|** -Comments out the selected lines ``sexily'' +**[count]\cl** +**[count]\cb |NERDComAlignedComment|** +Same as |NERDComComment| except that the delimiters are aligned down the +left side (\cl) or both sides (\cb). - -**[count]\cy |NERDComYankComment|** -Same as \cc except that the commented line(s) are yanked first. - - -**\c$ |NERDComEOLComment|** -Comments the current line from the cursor to the end of line. - - -**\cA |NERDComAppendComment|** -Adds comment delimiters to the end of line and goes into insert mode between -them. - - -**|NERDComInsertComment|** -Adds comment delimiters at the current cursor position and inserts between. -Disabled by default. - - -**\ca |NERDComAltDelim|** -Switches to the alternative set of delimiters. - - -**[count]\cl** -**[count]\cb |NERDComAlignedComment|** -Same as |NERDComComment| except that the delimiters are aligned down the -left side (\cl) or both sides (\cb). - - -**[count]\cu |NERDComUncommentLine|** -Uncomments the selected line(s). +**[count]\cu |NERDComUncommentLine|** +Uncomments the selected line(s).