From 94252894597e81b2f9339cf5c2aa435bff63b039 Mon Sep 17 00:00:00 2001 From: Caleb Maclennan Date: Tue, 24 May 2016 20:14:10 +0300 Subject: [PATCH] Add common settings and overhaul README formatting, esp. bindings section --- README.md | 130 ++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 82 insertions(+), 48 deletions(-) diff --git a/README.md b/README.md index 59cd4f8..8ac015a 100644 --- a/README.md +++ b/README.md @@ -1,35 +1,39 @@ -# Installation +# NERD Commenter -## Via Plugin Manager (Recommended) +Comment functions so powerful—no comment necessary. -### [Vim-Plug](https://github.com/junegunn/vim-plug) +## Installation + +### Via Plugin Manager (Recommended) + +#### [Vim-Plug](https://github.com/junegunn/vim-plug) 1. Add `Plug 'Plug scrooloose/nerdcommenter'` to your vimrc file. 2. Reload your vimrc or restart 3. Run `:PlugInstall` -### [Vundle](https://github.com/VundleVim/Vundle.vim) or similar +#### [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) +#### [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) +#### [Pathogen](https://github.com/tpope/vim-pathogen) ```sh cd ~/.vim/bundle git clone https://github.com/scrooloose/nerdcommenter.git ``` -## Manual Installation +### Manual Installation -### Unix +#### Unix (For Neovim, change `~/.vim/` to `~/.config/nvim/`.) @@ -40,7 +44,7 @@ curl -fLo ~/.vim/doc/NERD_Commenter.txt --create-dirs \ https://raw.githubusercontent.com/scrooloose/nerdcommenter/master/doc/NERD_commenter.txt ``` -### Windows (PowerShell) +#### Windows (PowerShell) ```powershell md ~\vimfiles\plugin @@ -51,63 +55,93 @@ $docsuri = 'https://raw.githubusercontent.com/scrooloose/nerdcommenter/master/do (New-Object Net.WebClient).DownloadFile($uri, $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("~\vimfiles\doc\NERD_commenter.txt")) ``` -## Post Installation +### 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: +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 +## 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): +### Documentation -Most of the following mappings are for normal/visual mode only. The |NERDComInsertComment| mapping is for insert mode only. +Please see the vim help system for full documentation of all options: `:help nerdcommenter` -**[count]\cc |NERDComComment|** -Comment out the current line or text selected in visual mode. +### Settings -**[count]\cn |NERDComNestedComment|** -Same as \cc but forces nesting. +Several settings can be added to your vimrc to change the default behavior. Some examples: -**[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. +```vim +" Add spaces after comment delimiters by default +let g:NERDSpaceDelims = 1 -**[count]\cm |NERDComMinimalComment|** -Comments the given lines using only one set of multipart delimiters. +" Use compact syntax for prettified multi-line comments +let g:NERDCompactSexyComs = 1 -**[count]\ci |NERDComInvertComment|** -Toggles the comment state of the selected line(s) individually. +" Align line-wise comment delimiters flush left instead of following code indentation +let g:NERDDefaultAlign = 'left' -**[count]\cs |NERDComSexyComment|** -Comments out the selected lines ``sexily'' +" Add your own custom formats or override the defaults +let g:NERDCustomDelimiters = { 'c': { 'left': '/**','right': '*/' } } +``` -**[count]\cy |NERDComYankComment|** -Same as \cc except that the commented line(s) are yanked first. +### Default mappings -**\c$ |NERDComEOLComment|** -Comments the current line from the cursor to the end of line. +The following key mappings are provided by default (there is also a menu provided that contains menu items corresponding to all the below mappings): -**\cA |NERDComAppendComment|** -Adds comment delimiters to the end of line and goes into insert mode between -them. +Most of the following mappings are for normal/visual mode only. The **|NERDComInsertComment|** mapping is for insert mode only. -**|NERDComInsertComment|** -Adds comment delimiters at the current cursor position and inserts between. -Disabled by default. + * `[count]cc` **|NERDComComment|** -**\ca |NERDComAltDelim|** -Switches to the alternative set of delimiters. + Comment out the current line or text selected in visual mode. -**[count]\cl** -**[count]\cb |NERDComAlignedComment|** -Same as |NERDComComment| except that the delimiters are aligned down the -left side (\cl) or both sides (\cb). + * `[count]cn` **|NERDComNestedComment|** -**[count]\cu |NERDComUncommentLine|** -Uncomments the selected line(s). + 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 with a pretty block formatted layout. + + * `[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).