# Installation
_\*For simplicity, let's use **[VIM_ROOT]** which will mean ~/.vim (\*nix) or ~/vimfiles (Windows)_
The NERD Commenter requires Vim 7 or higher is comprised of 2 files:
plugin/NERD_commenter.vim
doc/NERD_commenter.txt
### Classic Install
1. Extract the plugin files into your **[VIM_ROOT]**/pulgin and **[VIM_ROOT]**/doc folders respectively.
2. Finish the install by updating your help files. Run:
:helptags [VIM_ROOT]/doc
See **|add-local-help|** for more details.
### Pathogen Install
1. Navigate to your **[VIM_ROOT]/bundle** directory in your local Vim setup
2. git clone https://github.com/scrooloose/nerdcommenter.git
### 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:
filetype plugin on
# 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):
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]\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]\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]\cs |NERDComSexyComment|**
Comments out the selected lines ``sexily''
**[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).