2016-05-25 00:39:07 +08:00
|
|
|
# Installation
|
2012-03-26 23:12:53 +08:00
|
|
|
|
2016-05-24 19:58:18 +08:00
|
|
|
## Via Plugin Manager (Recommended)
|
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
### [Vim-Plug](https://github.com/junegunn/vim-plug)
|
2012-03-27 00:11:24 +08:00
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
1. Add `Plug 'Plug scrooloose/nerdcommenter'` to your vimrc file.
|
|
|
|
2. Reload your vimrc or restart
|
|
|
|
3. Run `:PlugInstall`
|
2012-03-27 00:11:24 +08:00
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
### [Vundle](https://github.com/VundleVim/Vundle.vim) or similar
|
2012-03-26 23:32:56 +08:00
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
1. Add `Plugin 'scrooloose/nerdcommenter'` to your vimrc file.
|
|
|
|
2. Reload your vimrc or restart
|
|
|
|
3. Run `:BundleInstall`
|
2012-03-26 23:32:56 +08:00
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
### [NeoBundle](https://github.com/Shougo/neobundle.vim)
|
2012-03-27 00:11:24 +08:00
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
1. Add `NeoBundle 'scrooloose/nerdcommenter'` to your vimrc file.
|
|
|
|
2. Reload your vimrc or restart
|
|
|
|
3. Run `:NeoUpdate``
|
2016-05-24 19:58:18 +08:00
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
### [Pathogen](https://github.com/tpope/vim-pathogen)
|
2012-03-26 23:42:40 +08:00
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
```sh
|
|
|
|
cd ~/.vim/bundle
|
|
|
|
git clone https://github.com/scrooloose/nerdcommenter.git
|
|
|
|
```
|
2012-03-26 23:32:56 +08:00
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
## Manual Installation
|
2016-05-24 19:58:18 +08:00
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
### Unix
|
2016-05-24 19:58:18 +08:00
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
(For Neovim, change `~/.vim/` to `~/.config/nvim/`.)
|
2016-05-24 19:58:18 +08:00
|
|
|
|
|
|
|
```sh
|
2016-05-25 00:39:07 +08:00
|
|
|
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
|
2016-05-24 19:58:18 +08:00
|
|
|
```
|
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
### Windows (PowerShell)
|
2016-05-24 19:58:18 +08:00
|
|
|
|
|
|
|
```powershell
|
|
|
|
md ~\vimfiles\plugin
|
2016-05-25 00:39:07 +08:00
|
|
|
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"))
|
2016-05-24 19:58:18 +08:00
|
|
|
```
|
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
## 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:
|
2016-05-24 19:58:18 +08:00
|
|
|
|
|
|
|
```sh
|
2016-05-25 00:39:07 +08:00
|
|
|
filetype plugin on
|
2016-05-24 19:58:18 +08:00
|
|
|
```
|
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
# Usage
|
2016-05-24 19:58:18 +08:00
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
The following key mappings are provided by default (there is also a menu
|
|
|
|
provided that contains menu items corresponding to all the below mappings):
|
2012-03-26 23:12:53 +08:00
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
Most of the following mappings are for normal/visual mode only. The |NERDComInsertComment| mapping is for insert mode only.
|
2012-03-26 23:12:53 +08:00
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
**[count]\<leader\>cc |NERDComComment|**
|
|
|
|
Comment out the current line or text selected in visual mode.
|
2012-03-26 23:12:53 +08:00
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
**[count]\<leader\>cn |NERDComNestedComment|**
|
|
|
|
Same as \<leader\>cc but forces nesting.
|
2012-03-26 23:12:53 +08:00
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
**[count]\<leader\>c\<space\> |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.
|
2012-03-26 23:12:53 +08:00
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
**[count]\<leader\>cm |NERDComMinimalComment|**
|
|
|
|
Comments the given lines using only one set of multipart delimiters.
|
2012-03-26 23:12:53 +08:00
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
**[count]\<leader\>ci |NERDComInvertComment|**
|
|
|
|
Toggles the comment state of the selected line(s) individually.
|
2012-03-26 23:12:53 +08:00
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
**[count]\<leader\>cs |NERDComSexyComment|**
|
|
|
|
Comments out the selected lines ``sexily''
|
2012-03-26 23:12:53 +08:00
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
**[count]\<leader\>cy |NERDComYankComment|**
|
|
|
|
Same as \<leader\>cc except that the commented line(s) are yanked first.
|
2012-03-26 23:12:53 +08:00
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
**\<leader\>c$ |NERDComEOLComment|**
|
|
|
|
Comments the current line from the cursor to the end of line.
|
2012-03-26 23:12:53 +08:00
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
**\<leader\>cA |NERDComAppendComment|**
|
|
|
|
Adds comment delimiters to the end of line and goes into insert mode between
|
|
|
|
them.
|
2012-03-26 23:12:53 +08:00
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
**|NERDComInsertComment|**
|
|
|
|
Adds comment delimiters at the current cursor position and inserts between.
|
|
|
|
Disabled by default.
|
2012-03-26 23:12:53 +08:00
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
**\<leader\>ca |NERDComAltDelim|**
|
|
|
|
Switches to the alternative set of delimiters.
|
2012-03-26 23:12:53 +08:00
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
**[count]\<leader\>cl**
|
|
|
|
**[count]\<leader\>cb |NERDComAlignedComment|**
|
|
|
|
Same as |NERDComComment| except that the delimiters are aligned down the
|
|
|
|
left side (\<leader\>cl) or both sides (\<leader\>cb).
|
2012-03-26 23:12:53 +08:00
|
|
|
|
2016-05-25 00:39:07 +08:00
|
|
|
**[count]\<leader\>cu |NERDComUncommentLine|**
|
|
|
|
Uncomments the selected line(s).
|