mirror of
https://github.com/preservim/nerdcommenter.git
synced 2025-11-08 09:53:47 -05:00
restored scrooloose's original readme
This commit is contained in:
168
README.md
168
README.md
@@ -1,25 +1,159 @@
|
||||
# NERD Commenter
|
||||
|
||||
Comment functions so powerful—no comment necessary.
|
||||
|
||||
## Installation
|
||||
|
||||
For initial instructions, check out the original script at
|
||||
[https://github.com/scrooloose/nerdcommenter](https://github.com/scrooloose/nerdcommenter)
|
||||
### Via Plugin Manager (Recommended)
|
||||
|
||||
## Configuration
|
||||
#### [Vim-Plug](https://github.com/junegunn/vim-plug)
|
||||
|
||||
Suggested mappings to be put in the vimrc:
|
||||
1. Add `Plug 'scrooloose/nerdcommenter'` to your vimrc file.
|
||||
2. Reload your vimrc or restart
|
||||
3. Run `:PlugInstall`
|
||||
|
||||
:map <expr> <Leader>cc nerdcommenter#Plug('Comment')|ounmap <Leader>cc|sunmap <Leader>cc
|
||||
:map <expr> <Leader>c<Space> nerdcommenter#Plug('Toggle')|ounmap <Leader>c<Space>|sunmap <Leader>c<Space>
|
||||
:map <expr> <Leader>cm nerdcommenter#Plug('Minimal')|ounmap <Leader>cm|sunmap <Leader>cm
|
||||
:map <expr> <Leader>cn nerdcommenter#Plug('Nested')|ounmap <Leader>cn|sunmap <Leader>cn
|
||||
:nmap <expr> <Leader>c$ nerdcommenter#Plug('ToEOL')
|
||||
:map <expr> <Leader>ci nerdcommenter#Plug('Invert')|ounmap <Leader>ci|sunmap <Leader>ci
|
||||
:map <expr> <Leader>cs nerdcommenter#Plug('Sexy')|ounmap <Leader>cs|sunmap <Leader>cs
|
||||
:map <expr> <Leader>cy nerdcommenter#Plug('Yank')|ounmap <Leader>cy|sunmap <Leader>cy
|
||||
:nmap <expr> <Leader>cA nerdcommenter#Plug('Append')
|
||||
:map <expr> <Leader>cl nerdcommenter#Plug('AlignLeft')|ounmap <Leader>cl|sunmap <Leader>cl
|
||||
:map <expr> <Leader>cb nerdcommenter#Plug('AlignBoth')|ounmap <Leader>cb|sunmap <Leader>cb
|
||||
:map <expr> <Leader>cu nerdcommenter#Plug('Uncomment')|ounmap <Leader>cu|sunmap <Leader>cu
|
||||
:nmap <expr> <Leader>ca nerdcommenter#Plug('AltDelims')
|
||||
#### [Vundle](https://github.com/VundleVim/Vundle.vim) or similar
|
||||
|
||||
1. Add `Plugin 'scrooloose/nerdcommenter'` to your vimrc file.
|
||||
2. Reload your vimrc or restart
|
||||
3. Run `:BundleInstall`
|
||||
|
||||
#### [NeoBundle](https://github.com/Shougo/neobundle.vim)
|
||||
|
||||
1. Add `NeoBundle 'scrooloose/nerdcommenter'` to your vimrc file.
|
||||
2. Reload your vimrc or restart
|
||||
3. Run `:NeoUpdate`
|
||||
|
||||
#### [Pathogen](https://github.com/tpope/vim-pathogen)
|
||||
|
||||
```sh
|
||||
cd ~/.vim/bundle
|
||||
git clone https://github.com/scrooloose/nerdcommenter.git
|
||||
```
|
||||
|
||||
### 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
|
||||
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($pluguri, $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("~\vimfiles\plugin\NERD_commenter.vim"))
|
||||
(New-Object Net.WebClient).DownloadFile($docsuri, $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("~\vimfiles\doc\NERD_commenter.txt"))
|
||||
```
|
||||
|
||||
### 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
|
||||
filetype plugin on
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
### Documentation
|
||||
|
||||
Please see the vim help system for full documentation of all options: `:help nerdcommenter`
|
||||
|
||||
### Settings
|
||||
|
||||
Several settings can be added to your vimrc to change the default behavior. Some examples:
|
||||
|
||||
```vim
|
||||
" Add spaces after comment delimiters by default
|
||||
let g:NERDSpaceDelims = 1
|
||||
|
||||
" Use compact syntax for prettified multi-line comments
|
||||
let g:NERDCompactSexyComs = 1
|
||||
|
||||
" Align line-wise comment delimiters flush left instead of following code indentation
|
||||
let g:NERDDefaultAlign = 'left'
|
||||
|
||||
" Set a language to use its alternate delimiters by default
|
||||
let g:NERDAltDelims_java = 1
|
||||
|
||||
" Add your own custom formats or override the defaults
|
||||
let g:NERDCustomDelimiters = { 'c': { 'left': '/**','right': '*/' } }
|
||||
|
||||
" Allow commenting and inverting empty lines (useful when commenting a region)
|
||||
let g:NERDCommentEmptyLines = 1
|
||||
|
||||
" Enable trimming of trailing whitespace when uncommenting
|
||||
let g:NERDTrimTrailingWhitespace = 1
|
||||
|
||||
" Enable NERDCommenterToggle to check all selected lines is commented or not
|
||||
let g:NERDToggleCheckAllLines = 1
|
||||
```
|
||||
|
||||
### Default 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.
|
||||
|
||||
* `[count]<leader>cc` **|NERDComComment|**
|
||||
|
||||
Comment out the current line or text selected in visual mode.
|
||||
|
||||
* `[count]<leader>cn` **|NERDComNestedComment|**
|
||||
|
||||
Same as <leader>cc but forces nesting.
|
||||
|
||||
* `[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.
|
||||
|
||||
* `[count]<leader>cm` **|NERDComMinimalComment|**
|
||||
|
||||
Comments the given lines using only one set of multipart delimiters.
|
||||
|
||||
* `[count]<leader>ci` **|NERDComInvertComment|**
|
||||
|
||||
Toggles the comment state of the selected line(s) individually.
|
||||
|
||||
* `[count]<leader>cs` **|NERDComSexyComment|**
|
||||
|
||||
Comments out the selected lines with a pretty block formatted layout.
|
||||
|
||||
* `[count]<leader>cy` **|NERDComYankComment|**
|
||||
|
||||
Same as <leader>cc except that the commented line(s) are yanked first.
|
||||
|
||||
* `<leader>c$` **|NERDComEOLComment|**
|
||||
|
||||
Comments the current line from the cursor to the end of line.
|
||||
|
||||
* `<leader>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.
|
||||
|
||||
* `<leader>ca` **|NERDComAltDelim|**
|
||||
|
||||
Switches to the alternative set of delimiters.
|
||||
|
||||
* `[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`).
|
||||
|
||||
* `[count]<leader>cu` **|NERDComUncommentLine|**
|
||||
|
||||
Uncomments the selected line(s).
|
||||
|
||||
Reference in New Issue
Block a user