]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - vim/bundle/nerdcommenter/doc/NERD_commenter.txt
colors/simon.vim: Disable reverse for TabLineFill.
[config/dotfiles.git] / vim / bundle / nerdcommenter / doc / NERD_commenter.txt
index d79d27880d15006d5846f2c6f946a37108a0f202..5309f614df0f67bd2bc3e5c8261d6dac09080745 100644 (file)
 CONTENTS                                               *NERDCommenterContents*
 
     1.Intro...................................|NERDCommenter|
-    2.Functionality provided..................|NERDComFunctionality|
-        2.1 Functionality Summary.............|NERDComFunctionalitySummary|
-        2.2 Functionality Details.............|NERDComFunctionalityDetails|
-            2.2.1 Comment map.................|NERDComComment|
-            2.2.2 Nested comment map..........|NERDComNestedComment|
-            2.2.3 Toggle comment map..........|NERDComToggleComment|
-            2.2.4 Minimal comment map.........|NERDComMinimalComment|
-            2.2.5 Invert comment map..........|NERDComInvertComment|
-            2.2.6 Sexy comment map............|NERDComSexyComment|
-            2.2.7 Yank comment map............|NERDComYankComment|
-            2.2.8 Comment to EOL map..........|NERDComEOLComment|
-            2.2.9 Append com to line map......|NERDComAppendComment|
-            2.2.10 Insert comment map.........|NERDComInsertComment|
-            2.2.11 Use alternate delims map...|NERDComAltDelim|
-            2.2.12 Comment aligned maps.......|NERDComAlignedComment|
-            2.2.13 Uncomment line map.........|NERDComUncommentLine|
-        2.3 Supported filetypes...............|NERDComFiletypes|
-        2.4 Sexy Comments.....................|NERDComSexyComments|
-        2.5 The NERDComment function..........|NERDComNERDComment|
-    3.Options.................................|NERDComOptions|
-        3.1 Options summary...................|NERDComOptionsSummary|
-        3.2 Options details...................|NERDComOptionsDetails|
-        3.3 Default delimiter Options.........|NERDComDefaultDelims|
-    4. Customising key mappings...............|NERDComMappings|
-    5. Issues with the script.................|NERDComIssues|
-        5.1 Delimiter detection heuristics....|NERDComHeuristics|
-        5.2 Nesting issues....................|NERDComNesting|
-    6.About..     ............................|NERDComAbout|
-    7.Changelog...............................|NERDComChangelog|
-    8.Credits.................................|NERDComCredits|
-    9.License.................................|NERDComLicense|
+    2.Installation............................|NERDComInstallation|
+    3.Functionality provided..................|NERDComFunctionality|
+        3.1 Functionality Summary.............|NERDComFunctionalitySummary|
+        3.2 Functionality Details.............|NERDComFunctionalityDetails|
+            3.2.1 Comment map.................|NERDComComment|
+            3.2.2 Nested comment map..........|NERDComNestedComment|
+            3.2.3 Toggle comment map..........|NERDComToggleComment|
+            3.2.4 Minimal comment map.........|NERDComMinimalComment|
+            3.2.5 Invert comment map..........|NERDComInvertComment|
+            3.2.6 Sexy comment map............|NERDComSexyComment|
+            3.2.7 Yank comment map............|NERDComYankComment|
+            3.2.8 Comment to EOL map..........|NERDComEOLComment|
+            3.2.9 Append com to line map......|NERDComAppendComment|
+            3.2.10 Insert comment map.........|NERDComInsertComment|
+            3.2.11 Use alternate delims map...|NERDComAltDelim|
+            3.2.12 Comment aligned maps.......|NERDComAlignedComment|
+            3.2.13 Uncomment line map.........|NERDComUncommentLine|
+        3.4 Sexy Comments.....................|NERDComSexyComments|
+        3.5 The NERDComment function..........|NERDComNERDComment|
+    4.Options.................................|NERDComOptions|
+        4.1 Options summary...................|NERDComOptionsSummary|
+        4.2 Options details...................|NERDComOptionsDetails|
+        4.3 Default delimiter Options.........|NERDComDefaultDelims|
+    5. Customising key mappings...............|NERDComMappings|
+    6. Issues with the script.................|NERDComIssues|
+        6.1 Delimiter detection heuristics....|NERDComHeuristics|
+        6.2 Nesting issues....................|NERDComNesting|
+    7.About..     ............................|NERDComAbout|
+    8.Changelog...............................|NERDComChangelog|
+    9.Credits.................................|NERDComCredits|
+    10.License................................|NERDComLicense|
 
 ==============================================================================
 1. Intro                                                       *NERDCommenter*
@@ -54,48 +54,69 @@ There are also options that allow to tweak the commenting engine to your
 taste.
 
 ==============================================================================
-2. Functionality provided                               *NERDComFunctionality*
+2. Installation                                          *NERDComInstallation*
+
+The NERD Commenter requires Vim 7 or higher.
+
+Extract the plugin files in your ~/.vim (*nix) or ~/vimfiles (Windows). You
+should have 2 files: >
+    plugin/NERD_commenter.vim
+    doc/NERD_commenter.txt
+<
+Next, to finish installing the help file run: >
+    :helptags ~/.vim/doc
+<
+See |add-local-help| for more details.
+
+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
+<
+
+==============================================================================
+3. Functionality provided                               *NERDComFunctionality*
 
 ------------------------------------------------------------------------------
-2.1 Functionality summary                        *NERDComFunctionalitySummary*
+3.1 Functionality summary                        *NERDComFunctionalitySummary*
 
 The following key mappings are provided by default (there is also a menu
 with items corresponding to all the mappings below):
 
-[count],cc |NERDComComment|
+[count]<leader>cc |NERDComComment|
 Comment out the current line or text selected in visual mode.
 
 
-[count],cn |NERDComNestedComment|
-Same as ,cc but forces nesting.
+[count]<leader>cn |NERDComNestedComment|
+Same as <leader>cc but forces nesting.
 
 
-[count],c<space> |NERDComToggleComment|
+[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],cm |NERDComMinimalComment|
+[count]<leader>cm |NERDComMinimalComment|
 Comments the given lines using only one set of multipart delimiters.
 
 
-[count],ci |NERDComInvertComment|
+[count]<leader>ci |NERDComInvertComment|
 Toggles the comment state of the selected line(s) individually.
 
 
-[count],cs |NERDComSexyComment|
+[count]<leader>cs |NERDComSexyComment|
 Comments out the selected lines ``sexily''
 
 
-[count],cy |NERDComYankComment|
-Same as ,cc except that the commented line(s) are yanked first.
+[count]<leader>cy |NERDComYankComment|
+Same as <leader>cc except that the commented line(s) are yanked first.
 
 
-,c$ |NERDComEOLComment|
+<leader>c$ |NERDComEOLComment|
 Comments the current line from the cursor to the end of line.
 
 
-,cA |NERDComAppendComment|
+<leader>cA |NERDComAppendComment|
 Adds comment delimiters to the end of line and goes into insert mode between
 them.
 
@@ -105,26 +126,26 @@ Adds comment delimiters at the current cursor position and inserts between.
 Disabled by default.
 
 
-,ca |NERDComAltDelim|
+<leader>ca |NERDComAltDelim|
 Switches to the alternative set of delimiters.
 
 
-[count],cl
-[count],cb    |NERDComAlignedComment|
+[count]<leader>cl
+[count]<leader>cb    |NERDComAlignedComment|
 Same as |NERDComComment| except that the delimiters are aligned down the
-left side (,cl) or both sides (,cb).
+left side (<leader>cl) or both sides (<leader>cb).
 
 
-[count],cu |NERDComUncommentLine|
+[count]<leader>cu |NERDComUncommentLine|
 Uncomments the selected line(s).
 
 ------------------------------------------------------------------------------
-2.2 Functionality details                        *NERDComFunctionalityDetails*
+3.2 Functionality details                        *NERDComFunctionalityDetails*
 
 ------------------------------------------------------------------------------
-2.2.1 Comment map                                             *NERDComComment*
+3.2.1 Comment map                                             *NERDComComment*
 
-Default mapping: [count],cc
+Default mapping: [count]<leader>cc
 Mapped to: <plug>NERDCommenterComment
 Applicable modes: normal visual visual-line visual-block.
 
@@ -138,14 +159,14 @@ If a [count] is given in normal mode, the mapping works as though that many
 lines were selected in visual-line mode.
 
 ------------------------------------------------------------------------------
-2.2.2 Nested comment map                                *NERDComNestedComment*
+3.2.2 Nested comment map                                *NERDComNestedComment*
 
-Default mapping: [count],cn
+Default mapping: [count]<leader>cn
 Mapped to: <plug>NERDCommenterNest
 Applicable modes: normal visual visual-line visual-block.
 
-Performs nested commenting.  Works the same as ,cc except that if a line is
-already commented then it will be commented again.
+Performs nested commenting.  Works the same as <leader>cc except that if a line
+is already commented then it will be commented again.
 
 If |'NERDUsePlaceHolders'| is set then the previous comment delimiters will
 be replaced by place-holder delimiters if needed.  Otherwise the nested
@@ -159,9 +180,9 @@ Related options:
 |'NERDDefaultNesting'|
 
 ------------------------------------------------------------------------------
-2.2.3 Toggle comment map                                *NERDComToggleComment*
+3.2.3 Toggle comment map                                *NERDComToggleComment*
 
-Default mapping: [count],c<space>
+Default mapping: [count]<leader>c<space>
 Mapped to: <plug>NERDCommenterToggle
 Applicable modes: normal visual-line.
 
@@ -176,17 +197,17 @@ If a [count] is given in normal mode, the mapping works as though that many
 lines were selected in visual-line mode.
 
 ------------------------------------------------------------------------------
-2.2.4 Minimal comment map                              *NERDComMinimalComment*
+3.2.4 Minimal comment map                              *NERDComMinimalComment*
 
-Default mapping: [count],cm
+Default mapping: [count]<leader>cm
 Mapped to: <plug>NERDCommenterMinimal
 Applicable modes: normal visual-line.
 
 Comments the selected lines using one set of multipart delimiters if possible.
 
-For example: if you are programming in c and you select 5 lines and press ,cm
-then a '/*' will be placed at the start of the top line and a '*/' will be
-placed at the end of the last line.
+For example: if you are programming in c and you select 5 lines and press
+<leader>cm then a '/*' will be placed at the start of the top line and a '*/'
+will be placed at the end of the last line.
 
 Sets of multipart comment delimiters that are between the top and bottom
 selected lines are replaced with place holders (see |'NERDLPlace'|) if
@@ -198,9 +219,9 @@ If a [count] is given in normal mode, the mapping works as though that many
 lines were selected in visual-line mode.
 
 ------------------------------------------------------------------------------
-2.2.5 Invert comment map                                *NERDComInvertComment*
+3.2.5 Invert comment map                                *NERDComInvertComment*
 
-Default mapping: ,ci
+Default mapping: <leader>ci
 Mapped to: <plug>NERDCommenterInvert
 Applicable modes: normal visual-line.
 
@@ -215,9 +236,9 @@ If a [count] is given in normal mode, the mapping works as though that many
 lines were selected in visual-line mode.
 
 ------------------------------------------------------------------------------
-2.2.6 Sexy comment map                                    *NERDComSexyComment*
+3.2.6 Sexy comment map                                    *NERDComSexyComment*
 
-Default mapping: [count],cs
+Default mapping: [count]<leader>cs
 Mapped to: <plug>NERDCommenterSexy
 Applicable modes: normal, visual-line.
 
@@ -235,18 +256,18 @@ Related options:
 |'NERDCompactSexyComs'|
 
 ------------------------------------------------------------------------------
-2.2.7 Yank comment map                                    *NERDComYankComment*
+3.2.7 Yank comment map                                    *NERDComYankComment*
 
-Default mapping: [count],cy
+Default mapping: [count]<leader>cy
 Mapped to: <plug>NERDCommenterYank
 Applicable modes: normal visual visual-line visual-block.
 
-Same as ,cc except that it yanks the line(s) that are commented first.
+Same as <leader>cc except that it yanks the line(s) that are commented first.
 
 ------------------------------------------------------------------------------
-2.2.8 Comment to EOL map                                   *NERDComEOLComment*
+3.2.8 Comment to EOL map                                   *NERDComEOLComment*
 
-Default mapping: ,c$
+Default mapping: <leader>c$
 Mapped to: <plug>NERDCommenterToEOL
 Applicable modes: normal.
 
@@ -254,9 +275,9 @@ Comments the current line from the current cursor position up to the end of
 the line.
 
 ------------------------------------------------------------------------------
-2.2.9 Append com to line map                            *NERDComAppendComment*
+3.2.9 Append com to line map                            *NERDComAppendComment*
 
-Default mapping: ,cA
+Default mapping: <leader>cA
 Mapped to: <plug>NERDCommenterAppend
 Applicable modes: normal.
 
@@ -264,7 +285,7 @@ Appends comment delimiters to the end of the current line and goes
 to insert mode between the new delimiters.
 
 ------------------------------------------------------------------------------
-2.2.10 Insert comment map                               *NERDComInsertComment*
+3.2.10 Insert comment map                               *NERDComInsertComment*
 
 Default mapping: disabled by default.
 Map it to: <plug>NERDCommenterInInsert
@@ -280,37 +301,37 @@ mapping add >
 to your vimrc.
 
 ------------------------------------------------------------------------------
-2.2.11 Use alternate delims map                              *NERDComAltDelim*
+3.2.11 Use alternate delims map                              *NERDComAltDelim*
 
-Default mapping: ,ca
+Default mapping: <leader>ca
 Mapped to: <plug>NERDCommenterAltDelims
 Applicable modes: normal.
 
 Changes to the alternative commenting style if one is available. For example,
-if the user is editing a c++ file using // comments and they hit ,ca
+if the user is editing a c++ file using // comments and they hit <leader>ca
 then they will be switched over to /**/ comments.
 
 See also |NERDComDefaultDelims|
 
 ------------------------------------------------------------------------------
-2.2.12 Comment aligned maps                            *NERDComAlignedComment*
+3.2.12 Comment aligned maps                            *NERDComAlignedComment*
 
-Default mappings: [count],cl   [count],cb
+Default mappings: [count]<leader>cl   [count]<leader>cb
 Mapped to: <plug>NERDCommenterAlignLeft
            <plug>NERDCommenterAlignBoth
 Applicable modes: normal visual-line.
 
-Same as ,cc except that the comment delimiters are aligned on the left side or
-both sides respectively. These comments are always nested if the line(s) are
-already commented.
+Same as <leader>cc except that the comment delimiters are aligned on the left
+side or both sides respectively. These comments are always nested if the
+line(s) are already commented.
 
 If a [count] is given in normal mode, the mapping works as though that many
 lines were selected in visual-line mode.
 
 ------------------------------------------------------------------------------
-2.2.13 Uncomment line map                               *NERDComUncommentLine*
+3.2.13 Uncomment line map                               *NERDComUncommentLine*
 
-Default mapping: [count],cu
+Default mapping: [count]<leader>cu
 Mapped to: <plug>NERDCommenterUncomment
 Applicable modes: normal visual visual-line visual-block.
 
@@ -331,41 +352,7 @@ Related  options:
 |'NERDRemoveExtraSpaces'|
 
 ------------------------------------------------------------------------------
-2.3 Supported filetypes                                     *NERDComFiletypes*
-
-Filetypes that can be commented by this plugin:
-abaqus abc acedb ada ahdl amiga aml ampl ant apache apachestyle asm68k asm asn
-aspvbs atlas autohotkey autoit automake ave awk basic b bc bdf bib bindzone
-bst btm caos catalog c cfg cg ch changelog cl clean clipper cmake conf config
-context cpp crontab cs csc csp css cterm cupl csv cvs dcl debchangelog
-debcontrol debsources def diff django docbk dns dosbatch dosini dot dracula
-dsl dtd dtml dylan ecd eiffel elf elmfilt erlang eruby eterm expect exports
-fetchmail fgl focexec form fortran foxpro fstab fvwm fx gdb gdmo geek
-gentoo-package-keywords' gentoo-package-mask' gentoo-package-use' gnuplot
-gtkrc haskell hb h help hercules hog html htmldjango htmlos ia64 icon idlang
-idl indent inform inittab ishd iss ist jam java javascript jess jgraph
-jproperties jproperties jsp kconfig kix kscript lace lex lftp lifelines lilo
-lisp lite lotos lout lprolog lscript lss lua lynx m4 mail make maple masm
-master matlab mel mf mib mma model moduala.  modula2 modula3 monk mush muttrc
-named nasm nastran natural ncf netdict netrw nqc nroff nsis objc ocaml occam
-omlet omnimark openroad opl ora otl ox pascal passwd pcap pccts perl pfmain
-php phtml pic pike pilrc pine plaintex plm plsql po postscr pov povini ppd
-ppwiz procmail progress prolog psf ptcap python python qf radiance ratpoison r
-rc readline rebol registry remind rexx robots rpl rtf ruby sa samba sas sass
-sather scheme scilab screen scsh sdl sed selectbuf sgml sgmldecl sgmllnx sh
-sicad simula sinda skill slang sl slrnrc sm smarty smil smith sml snnsnet
-snnspat snnsres snobol4 spec specman spice sql sqlforms sqlj sqr squid st stp
-strace svn systemverilog tads taglist tags tak tasm tcl terminfo tex text
-plaintex texinfo texmf tf tidy tli trasys tsalt tsscl tssgm uc uil vb verilog
-verilog_systemverilog vgrindefs vhdl vim viminfo virata vo_base vrml vsejcl
-webmacro wget winbatch wml wvdial xdefaults xf86conf xhtml xkb xmath xml
-xmodmap xpm2 xpm xslt yacc yaml z8a
-
-If a language is not in the list of hardcoded supported filetypes then the
-&commentstring vim option is used.
-
-------------------------------------------------------------------------------
-2.4 Sexy Comments                                        *NERDComSexyComments*
+3.3 Sexy Comments                                        *NERDComSexyComments*
 These are comments that use one set of multipart comment delimiters as well as
 one other marker symbol. For example: >
     /*
@@ -380,7 +367,7 @@ one other marker symbol. For example: >
 Here the multipart delimiters are /* and */ and the marker is *.
 
 ------------------------------------------------------------------------------
-2.5 The NERDComment function                             *NERDComNERDComment*
+3.4 The NERDComment function                             *NERDComNERDComment*
 
 All of the NERD commenter mappings and menu items invoke a single function
 which delegates the commenting work to other functions. This function is
@@ -404,10 +391,10 @@ then the script would do a sexy comment on the last visual selection.
 
 
 ==============================================================================
-3. Options                                                    *NERDComOptions*
+4. Options                                                    *NERDComOptions*
 
 ------------------------------------------------------------------------------
-3.1 Options summary                                    *NERDComOptionsSummary*
+4.1 Options summary                                    *NERDComOptionsSummary*
 
 |'loaded_nerd_comments'|              Turns off the script.
 |'NERDAllowAnyVisualDelims'|          Allows multipart alternative delims to
@@ -444,7 +431,7 @@ then the script would do a sexy comment on the last visual selection.
                                       style sexy comments.
 
 ------------------------------------------------------------------------------
-3.3 Options details                                    *NERDComOptionsDetails*
+4.3 Options details                                    *NERDComOptionsDetails*
 
 To enable any of the below options you should put the given line in your
 ~/.vimrc
@@ -581,7 +568,7 @@ this option tells the script whether to look for, and remove, comment
 delimiters of the alternative style.
 
 For example, if you are editing a c++ file using // style comments and you go
-,cu on this line: >
+<leader>cu on this line: >
     /* This is a c++ comment baby! */
 <
 It will not be uncommented if the NERDRemoveAltComs is set to 0.
@@ -633,7 +620,7 @@ To set these options use lines like: >
 Following the above example, if we have line of c code: >
     /* int horse */
 <
-and we comment it with ,cn it will be changed to: >
+and we comment it with <leader>cn it will be changed to: >
     /*FOO int horse BAR*/
 <
 When we uncomment this line it will go back to what it was.
@@ -698,7 +685,8 @@ Values: 0 or 1.
 Default 1.
 
 When this option is set to 1, comments are nested automatically. That is, if
-you hit ,cc on a line that is already commented it will be commented again
+you hit <leader>cc on a line that is already commented it will be commented
+again.
 
 ------------------------------------------------------------------------------
 3.3 Default delimiter customisation                     *NERDComDefaultDelims*
@@ -715,7 +703,7 @@ Example: java uses // style comments by default, but you want it to default to
 See |NERDComAltDelim| for switching commenting styles at runtime.
 
 ==============================================================================
-4. Key mapping customisation                                *NERDComMappings*
+5. Key mapping customisation                                *NERDComMappings*
 
 To change a mapping just map another key combo to the internal <plug> mapping.
 For example, to remap the |NERDComComment| mapping to ",omg" you would put
@@ -730,11 +718,11 @@ map to.
 See also |'NERDCreateDefaultMappings'|.
 
 ==============================================================================
-5. Issues with the script                                      *NERDComIssues*
+6. Issues with the script                                      *NERDComIssues*
 
 
 ------------------------------------------------------------------------------
-5.1 Delimiter detection heuristics                         *NERDComHeuristics*
+6.1 Delimiter detection heuristics                         *NERDComHeuristics*
 
 Heuristics are used to distinguish the real comment delimiters
 
@@ -754,7 +742,7 @@ string. These heuristics, while usually pretty accurate, will not work for all
 cases.
 
 ------------------------------------------------------------------------------
-5.2 Nesting issues                                            *NERDComNesting*
+6.2 Nesting issues                                            *NERDComNesting*
 
 If we have some line of code like this: >
     /*int foo */ = /*5 + 9;*/
@@ -774,7 +762,7 @@ will become: >
 for simplicity)
 
 ==============================================================================
-6. About                                                        *NERDComAbout*
+7. About                                                        *NERDComAbout*
 
 The author of the NERD commenter is Martyzillatron --- the half robot, half
 dinosaur bastard son of Megatron and Godzilla. He enjoys destroying
@@ -793,6 +781,15 @@ The latest dev versions are on github
 ==============================================================================
 8. Changelog                                                *NERDComChangelog*
 
+2.3.0
+    - remove all filetypes which have a &commentstring in the standard vim
+      runtime for vim > 7.0 unless the script stores an alternate set of
+      delimiters
+    - make the script complain if the user doesnt have filetype plugins enabled
+    - use <leader> instead of comma to start the default mappings
+    - fix a couple of bugs with sexy comments - thanks to Tim Smart
+    - lots of refactoring
+
 2.2.2
     - remove the NERDShutup option and the message is suppresses, this makes
       the plugin silently rely on &commentstring for unknown filetypes.
@@ -848,7 +845,7 @@ The latest dev versions are on github
       NERDComInsertComment if you wish to restore it
 
 ==============================================================================
-8. Credits                                                    *NERDComCredits*
+9. Credits                                                    *NERDComCredits*
 
 Thanks to the follow people for suggestions and patches:
 
@@ -985,7 +982,7 @@ Matt Tolton                         javacc
 Ivan Devat                          javascript.jquery
 tpope                               cucumber,pdf
 ==============================================================================
-9. License                                                    *NERDComLicense*
+10. License                                                   *NERDComLicense*
 
 The NERD commenter is released under the wtfpl.
 See http://sam.zoy.org/wtfpl/COPYING.