1 *NERD_commenter.txt* Plugin for commenting code
4 NERD COMMENTER REFERENCE MANUAL~
10 ==============================================================================
11 CONTENTS *NERDCommenterContents*
13 1.Intro...................................|NERDCommenter|
14 2.Functionality provided..................|NERDComFunctionality|
15 2.1 Functionality Summary.............|NERDComFunctionalitySummary|
16 2.2 Functionality Details.............|NERDComFunctionalityDetails|
17 2.2.1 Comment map.................|NERDComComment|
18 2.2.2 Nested comment map..........|NERDComNestedComment|
19 2.2.3 Toggle comment map..........|NERDComToggleComment|
20 2.2.4 Minimal comment map.........|NERDComMinimalComment|
21 2.2.5 Invert comment map..........|NERDComInvertComment|
22 2.2.6 Sexy comment map............|NERDComSexyComment|
23 2.2.7 Yank comment map............|NERDComYankComment|
24 2.2.8 Comment to EOL map..........|NERDComEOLComment|
25 2.2.9 Append com to line map......|NERDComAppendComment|
26 2.2.10 Insert comment map.........|NERDComInsertComment|
27 2.2.11 Use alternate delims map...|NERDComAltDelim|
28 2.2.12 Comment aligned maps.......|NERDComAlignedComment|
29 2.2.13 Uncomment line map.........|NERDComUncommentLine|
30 2.3 Supported filetypes...............|NERDComFiletypes|
31 2.4 Sexy Comments.....................|NERDComSexyComments|
32 2.5 The NERDComment function..........|NERDComNERDComment|
33 3.Options.................................|NERDComOptions|
34 3.1 Options summary...................|NERDComOptionsSummary|
35 3.2 Options details...................|NERDComOptionsDetails|
36 3.3 Default delimiter Options.........|NERDComDefaultDelims|
37 4. Customising key mappings...............|NERDComMappings|
38 5. Issues with the script.................|NERDComIssues|
39 5.1 Delimiter detection heuristics....|NERDComHeuristics|
40 5.2 Nesting issues....................|NERDComNesting|
41 6.About.. ............................|NERDComAbout|
42 7.Changelog...............................|NERDComChangelog|
43 8.Credits.................................|NERDComCredits|
44 9.License.................................|NERDComLicense|
46 ==============================================================================
47 1. Intro *NERDCommenter*
49 The NERD commenter provides many different commenting operations and styles
50 which are invoked via key mappings and a menu. These operations are available
53 There are also options that allow to tweak the commenting engine to your
56 ==============================================================================
57 2. Functionality provided *NERDComFunctionality*
59 ------------------------------------------------------------------------------
60 2.1 Functionality summary *NERDComFunctionalitySummary*
62 The following key mappings are provided by default (there is also a menu
63 with items corresponding to all the mappings below):
65 [count],cc |NERDComComment|
66 Comment out the current line or text selected in visual mode.
69 [count],cn |NERDComNestedComment|
70 Same as ,cc but forces nesting.
73 [count],c<space> |NERDComToggleComment|
74 Toggles the comment state of the selected line(s). If the topmost selected
75 line is commented, all selected lines are uncommented and vice versa.
78 [count],cm |NERDComMinimalComment|
79 Comments the given lines using only one set of multipart delimiters.
82 [count],ci |NERDComInvertComment|
83 Toggles the comment state of the selected line(s) individually.
86 [count],cs |NERDComSexyComment|
87 Comments out the selected lines ``sexily''
90 [count],cy |NERDComYankComment|
91 Same as ,cc except that the commented line(s) are yanked first.
94 ,c$ |NERDComEOLComment|
95 Comments the current line from the cursor to the end of line.
98 ,cA |NERDComAppendComment|
99 Adds comment delimiters to the end of line and goes into insert mode between
103 |NERDComInsertComment|
104 Adds comment delimiters at the current cursor position and inserts between.
108 ,ca |NERDComAltDelim|
109 Switches to the alternative set of delimiters.
113 [count],cb |NERDComAlignedComment|
114 Same as |NERDComComment| except that the delimiters are aligned down the
115 left side (,cl) or both sides (,cb).
118 [count],cu |NERDComUncommentLine|
119 Uncomments the selected line(s).
121 ------------------------------------------------------------------------------
122 2.2 Functionality details *NERDComFunctionalityDetails*
124 ------------------------------------------------------------------------------
125 2.2.1 Comment map *NERDComComment*
127 Default mapping: [count],cc
128 Mapped to: <plug>NERDCommenterComment
129 Applicable modes: normal visual visual-line visual-block.
132 Comments out the current line. If multiple lines are selected in visual-line
133 mode, they are all commented out. If some text is selected in visual or
134 visual-block mode then the script will try to comment out the exact text that
135 is selected using multi-part delimiters if they are available.
137 If a [count] is given in normal mode, the mapping works as though that many
138 lines were selected in visual-line mode.
140 ------------------------------------------------------------------------------
141 2.2.2 Nested comment map *NERDComNestedComment*
143 Default mapping: [count],cn
144 Mapped to: <plug>NERDCommenterNest
145 Applicable modes: normal visual visual-line visual-block.
147 Performs nested commenting. Works the same as ,cc except that if a line is
148 already commented then it will be commented again.
150 If |'NERDUsePlaceHolders'| is set then the previous comment delimiters will
151 be replaced by place-holder delimiters if needed. Otherwise the nested
152 comment will only be added if the current commenting delimiters have no right
153 delimiter (to avoid syntax errors)
155 If a [count] is given in normal mode, the mapping works as though that many
156 lines were selected in visual-line mode.
159 |'NERDDefaultNesting'|
161 ------------------------------------------------------------------------------
162 2.2.3 Toggle comment map *NERDComToggleComment*
164 Default mapping: [count],c<space>
165 Mapped to: <plug>NERDCommenterToggle
166 Applicable modes: normal visual-line.
168 Toggles commenting of the lines selected. The behaviour of this mapping
169 depends on whether the first line selected is commented or not. If so, all
170 selected lines are uncommented and vice versa.
172 With this mapping, a line is only considered to be commented if it starts with
175 If a [count] is given in normal mode, the mapping works as though that many
176 lines were selected in visual-line mode.
178 ------------------------------------------------------------------------------
179 2.2.4 Minimal comment map *NERDComMinimalComment*
181 Default mapping: [count],cm
182 Mapped to: <plug>NERDCommenterMinimal
183 Applicable modes: normal visual-line.
185 Comments the selected lines using one set of multipart delimiters if possible.
187 For example: if you are programming in c and you select 5 lines and press ,cm
188 then a '/*' will be placed at the start of the top line and a '*/' will be
189 placed at the end of the last line.
191 Sets of multipart comment delimiters that are between the top and bottom
192 selected lines are replaced with place holders (see |'NERDLPlace'|) if
193 |'NERDUsePlaceHolders'| is set for the current filetype. If it is not, then
194 the comment will be aborted if place holders are required to prevent illegal
197 If a [count] is given in normal mode, the mapping works as though that many
198 lines were selected in visual-line mode.
200 ------------------------------------------------------------------------------
201 2.2.5 Invert comment map *NERDComInvertComment*
204 Mapped to: <plug>NERDCommenterInvert
205 Applicable modes: normal visual-line.
207 Inverts the commented state of each selected line. If the a selected line is
208 commented then it is uncommented and vice versa. Each line is examined and
209 commented/uncommented individually.
211 With this mapping, a line is only considered to be commented if it starts with
214 If a [count] is given in normal mode, the mapping works as though that many
215 lines were selected in visual-line mode.
217 ------------------------------------------------------------------------------
218 2.2.6 Sexy comment map *NERDComSexyComment*
220 Default mapping: [count],cs
221 Mapped to: <plug>NERDCommenterSexy
222 Applicable modes: normal, visual-line.
224 Comments the selected line(s) ``sexily''... see |NERDComSexyComments| for
225 a description of what sexy comments are. Can only be done on filetypes for
226 which there is at least one set of multipart comment delimiters specified.
228 Sexy comments cannot be nested and lines inside a sexy comment cannot be
231 If a [count] is given in normal mode, the mapping works as though that many
232 lines were selected in visual-line mode.
235 |'NERDCompactSexyComs'|
237 ------------------------------------------------------------------------------
238 2.2.7 Yank comment map *NERDComYankComment*
240 Default mapping: [count],cy
241 Mapped to: <plug>NERDCommenterYank
242 Applicable modes: normal visual visual-line visual-block.
244 Same as ,cc except that it yanks the line(s) that are commented first.
246 ------------------------------------------------------------------------------
247 2.2.8 Comment to EOL map *NERDComEOLComment*
250 Mapped to: <plug>NERDCommenterToEOL
251 Applicable modes: normal.
253 Comments the current line from the current cursor position up to the end of
256 ------------------------------------------------------------------------------
257 2.2.9 Append com to line map *NERDComAppendComment*
260 Mapped to: <plug>NERDCommenterAppend
261 Applicable modes: normal.
263 Appends comment delimiters to the end of the current line and goes
264 to insert mode between the new delimiters.
266 ------------------------------------------------------------------------------
267 2.2.10 Insert comment map *NERDComInsertComment*
269 Default mapping: disabled by default.
270 Map it to: <plug>NERDCommenterInInsert
271 Applicable modes: insert.
273 Adds comment delimiters at the current cursor position and inserts
276 NOTE: prior to version 2.1.17 this was mapped to ctrl-c. To restore this
278 let NERDComInsertMap='<c-c>'
282 ------------------------------------------------------------------------------
283 2.2.11 Use alternate delims map *NERDComAltDelim*
286 Mapped to: <plug>NERDCommenterAltDelims
287 Applicable modes: normal.
289 Changes to the alternative commenting style if one is available. For example,
290 if the user is editing a c++ file using // comments and they hit ,ca
291 then they will be switched over to /**/ comments.
293 See also |NERDComDefaultDelims|
295 ------------------------------------------------------------------------------
296 2.2.12 Comment aligned maps *NERDComAlignedComment*
298 Default mappings: [count],cl [count],cb
299 Mapped to: <plug>NERDCommenterAlignLeft
300 <plug>NERDCommenterAlignBoth
301 Applicable modes: normal visual-line.
303 Same as ,cc except that the comment delimiters are aligned on the left side or
304 both sides respectively. These comments are always nested if the line(s) are
307 If a [count] is given in normal mode, the mapping works as though that many
308 lines were selected in visual-line mode.
310 ------------------------------------------------------------------------------
311 2.2.13 Uncomment line map *NERDComUncommentLine*
313 Default mapping: [count],cu
314 Mapped to: <plug>NERDCommenterUncomment
315 Applicable modes: normal visual visual-line visual-block.
317 Uncomments the current line. If multiple lines are selected in
318 visual mode then they are all uncommented.
320 When uncommenting, if the line contains multiple sets of delimiters then the
321 ``outtermost'' pair of delimiters will be removed.
323 The script uses a set of heurisics to distinguish ``real'' delimiters from
324 ``fake'' ones when uncommenting. See |NERDComIssues| for details.
326 If a [count] is given in normal mode, the mapping works as though that many
327 lines were selected in visual-line mode.
330 |'NERDRemoveAltComs'|
331 |'NERDRemoveExtraSpaces'|
333 ------------------------------------------------------------------------------
334 2.3 Supported filetypes *NERDComFiletypes*
336 Filetypes that can be commented by this plugin:
337 abaqus abc acedb ada ahdl amiga aml ampl ant apache apachestyle asm68k asm asn
338 aspvbs atlas autohotkey autoit automake ave awk basic b bc bdf bib bindzone
339 bst btm caos catalog c cfg cg ch changelog cl clean clipper cmake conf config
340 context cpp crontab cs csc csp css cterm cupl csv cvs dcl debchangelog
341 debcontrol debsources def diff django docbk dns dosbatch dosini dot dracula
342 dsl dtd dtml dylan ecd eiffel elf elmfilt erlang eruby eterm expect exports
343 fetchmail fgl focexec form fortran foxpro fstab fvwm fx gdb gdmo geek
344 gentoo-package-keywords' gentoo-package-mask' gentoo-package-use' gnuplot
345 gtkrc haskell hb h help hercules hog html htmldjango htmlos ia64 icon idlang
346 idl indent inform inittab ishd iss ist jam java javascript jess jgraph
347 jproperties jproperties jsp kconfig kix kscript lace lex lftp lifelines lilo
348 lisp lite lotos lout lprolog lscript lss lua lynx m4 mail make maple masm
349 master matlab mel mf mib mma model moduala. modula2 modula3 monk mush muttrc
350 named nasm nastran natural ncf netdict netrw nqc nroff nsis objc ocaml occam
351 omlet omnimark openroad opl ora otl ox pascal passwd pcap pccts perl pfmain
352 php phtml pic pike pilrc pine plaintex plm plsql po postscr pov povini ppd
353 ppwiz procmail progress prolog psf ptcap python python qf radiance ratpoison r
354 rc readline rebol registry remind rexx robots rpl rtf ruby sa samba sas sass
355 sather scheme scilab screen scsh sdl sed selectbuf sgml sgmldecl sgmllnx sh
356 sicad simula sinda skill slang sl slrnrc sm smarty smil smith sml snnsnet
357 snnspat snnsres snobol4 spec specman spice sql sqlforms sqlj sqr squid st stp
358 strace svn systemverilog tads taglist tags tak tasm tcl terminfo tex text
359 plaintex texinfo texmf tf tidy tli trasys tsalt tsscl tssgm uc uil vb verilog
360 verilog_systemverilog vgrindefs vhdl vim viminfo virata vo_base vrml vsejcl
361 webmacro wget winbatch wml wvdial xdefaults xf86conf xhtml xkb xmath xml
362 xmodmap xpm2 xpm xslt yacc yaml z8a
364 If a language is not in the list of hardcoded supported filetypes then the
365 &commentstring vim option is used.
367 ------------------------------------------------------------------------------
368 2.4 Sexy Comments *NERDComSexyComments*
369 These are comments that use one set of multipart comment delimiters as well as
370 one other marker symbol. For example: >
372 * This is a c style sexy comment
376 /* This is a c style sexy comment
378 * But this one is ``compact'' style */
380 Here the multipart delimiters are /* and */ and the marker is *.
382 ------------------------------------------------------------------------------
383 2.5 The NERDComment function *NERDComNERDComment*
385 All of the NERD commenter mappings and menu items invoke a single function
386 which delegates the commenting work to other functions. This function is
387 public and has the prototype: >
388 function! NERDComment(isVisual, type)
390 The arguments to this function are simple:
391 - isVisual: if you wish to do any kind of visual comment then set this to
392 1 and the function will use the '< and '> marks to find the comment
393 boundries. If set to 0 then the function will operate on the current
395 - type: is used to specify what type of commenting operation is to be
396 performed, and it can be one of the following: "sexy", "invert",
397 "minimal", "toggle", "alignLeft", "alignBoth", "norm", "nested",
398 "toEOL", "append", "insert", "uncomment", "yank"
400 For example, if you typed >
401 :call NERDComment(1, 'sexy')
403 then the script would do a sexy comment on the last visual selection.
406 ==============================================================================
407 3. Options *NERDComOptions*
409 ------------------------------------------------------------------------------
410 3.1 Options summary *NERDComOptionsSummary*
412 |'loaded_nerd_comments'| Turns off the script.
413 |'NERDAllowAnyVisualDelims'| Allows multipart alternative delims to
414 be used when commenting in
415 visual/visual-block mode.
416 |'NERDBlockComIgnoreEmpty'| Forces right delims to be placed when
417 doing visual-block comments.
418 |'NERDCommentWholeLinesInVMode'| Changes behaviour of visual comments.
419 |'NERDCreateDefaultMappings'| Turn the default mappings on/off.
420 |'NERDDefaultNesting'| Tells the script to use nested comments
422 |'NERDMenuMode'| Specifies how the NERD commenter menu
423 will appear (if at all).
424 |'NERDLPlace'| Specifies what to use as the left
425 delimiter placeholder when nesting
427 |'NERDUsePlaceHolders'| Specifies which filetypes may use
428 placeholders when nesting comments.
429 |'NERDRemoveAltComs'| Tells the script whether to remove
430 alternative comment delimiters when
432 |'NERDRemoveExtraSpaces'| Tells the script to always remove the
433 extra spaces when uncommenting
434 (regardless of whether NERDSpaceDelims
436 |'NERDRPlace'| Specifies what to use as the right
437 delimiter placeholder when nesting
439 |'NERDSpaceDelims'| Specifies whether to add extra spaces
440 around delimiters when commenting, and
441 whether to remove them when
443 |'NERDCompactSexyComs'| Specifies whether to use the compact
446 ------------------------------------------------------------------------------
447 3.3 Options details *NERDComOptionsDetails*
449 To enable any of the below options you should put the given line in your
452 *'loaded_nerd_comments'*
453 If this script is driving you insane you can turn it off by setting this
455 let loaded_nerd_comments=1
457 ------------------------------------------------------------------------------
458 *'NERDAllowAnyVisualDelims'*
462 If set to 1 then, when doing a visual or visual-block comment (but not a
463 visual-line comment), the script will choose the right delimiters to use for
464 the comment. This means either using the current delimiters if they are
465 multipart or using the alternative delimiters if THEY are multipart. For
466 example if we are editing the following java code: >
469 System.out.println(foo * bar);
471 If we are using // comments and select the "foo" and "bar" in visual-block
472 mode, as shown left below (where '|'s are used to represent the visual-block
473 boundary), and comment it then the script will use the alternative delims as
474 shown on the right: >
476 float |foo| = 1221; float /*foo*/ = 1221;
477 float |bar| = 324; float /*bar*/ = 324;
478 System.out.println(foo * bar); System.out.println(foo * bar);
480 ------------------------------------------------------------------------------
481 *'NERDBlockComIgnoreEmpty'*
485 This option affects visual-block mode commenting. If this option is turned
486 on, lines that begin outside the right boundary of the selection block will be
489 For example, if you are commenting this chunk of c code in visual-block mode
490 (where the '|'s are used to represent the visual-block boundary) >
491 #include <sys/types.h>
495 | | printf("SUCK THIS\n");
501 If NERDBlockComIgnoreEmpty=0 then this code will become: >
502 #include <sys/types.h>
506 /* */ printf("SUCK THIS\n");
512 Otherwise, the code block would become: >
513 #include <sys/types.h>
517 printf("SUCK THIS\n");
523 ------------------------------------------------------------------------------
524 *'NERDCommentWholeLinesInVMode'*
528 By default the script tries to comment out exactly what is selected in visual
529 mode (v). For example if you select and comment the following c code (using |
530 to represent the visual boundary): >
535 This will result in: >
540 But some people prefer it if the whole lines are commented like: >
545 If you prefer the second option then stick this line in your vimrc: >
546 let NERDCommentWholeLinesInVMode=1
549 If the filetype you are editing only has no multipart delimiters (for example
550 a shell script) and you hadnt set this option then the above would become >
554 (where # is the comment delimiter) as this is the closest the script can
555 come to commenting out exactly what was selected. If you prefer for whole
556 lines to be commented out when there is no multipart delimiters but the EXACT
557 text that was selected to be commented out if there IS multipart delimiters
558 then stick the following line in your vimrc: >
559 let NERDCommentWholeLinesInVMode=2
562 Note that this option does not affect the behaviour of commenting in
565 ------------------------------------------------------------------------------
566 *'NERDCreateDefaultMappings'*
570 If set to 0, none of the default mappings will be created.
572 See also |NERDComMappings|.
574 ------------------------------------------------------------------------------
575 *'NERDRemoveAltComs'*
579 When uncommenting a line (for a filetype with an alternative commenting style)
580 this option tells the script whether to look for, and remove, comment
581 delimiters of the alternative style.
583 For example, if you are editing a c++ file using // style comments and you go
585 /* This is a c++ comment baby! */
587 It will not be uncommented if the NERDRemoveAltComs is set to 0.
589 ------------------------------------------------------------------------------
590 *'NERDRemoveExtraSpaces'*
594 By default, the NERD commenter will remove spaces around comment delimiters if
596 1. |'NERDSpaceDelims'| is set to 1.
597 2. NERDRemoveExtraSpaces is set to 1.
599 This means that if we have the following lines in a c code file: >
604 If either of the above conditions hold then if these lines are uncommented
610 Otherwise they would become: >
615 If you want the spaces to be removed only if |'NERDSpaceDelims'| is set then
616 set NERDRemoveExtraSpaces to 0.
618 ------------------------------------------------------------------------------
621 Values: arbitrary string.
626 These options are used to control the strings used as place-holder delimiters.
627 Place holder delimiters are used when performing nested commenting when the
628 filetype supports commenting styles with both left and right delimiters.
629 To set these options use lines like: >
633 Following the above example, if we have line of c code: >
636 and we comment it with ,cn it will be changed to: >
637 /*FOO int horse BAR*/
639 When we uncomment this line it will go back to what it was.
641 ------------------------------------------------------------------------------
646 This option can take 4 values:
647 "0": Turns the menu off.
648 "1": Turns the 'comment' menu on with no menu shortcut.
649 "2": Turns the 'comment 'menu on with <alt>-c as the shortcut.
650 "3": Turns the 'Plugin -> comment' menu on with <alt>-c as the shortcut.
652 ------------------------------------------------------------------------------
653 *'NERDUsePlaceHolders'*
657 This option is used to specify whether place-holder delimiters should be used
658 when creating a nested comment.
660 ------------------------------------------------------------------------------
665 Some people prefer a space after the left delimiter and before the right
666 delimiter like this: >
669 as opposed to this: >
672 If you want spaces to be added then set NERDSpaceDelims to 1 in your vimrc.
674 See also |'NERDRemoveExtraSpaces'|.
676 ------------------------------------------------------------------------------
677 *'NERDCompactSexyComs'*
681 Some people may want their sexy comments to be like this: >
683 * This is a sexy comment
686 As opposed to like this: >
689 * This is a sexy comment
693 If this option is set to 1 then the top style will be used.
695 ------------------------------------------------------------------------------
696 *'NERDDefaultNesting'*
700 When this option is set to 1, comments are nested automatically. That is, if
701 you hit ,cc on a line that is already commented it will be commented again
703 ------------------------------------------------------------------------------
704 3.3 Default delimiter customisation *NERDComDefaultDelims*
706 If you want the NERD commenter to use the alternative delimiters for a
707 specific filetype by default then put a line of this form into your vimrc: >
708 let NERD_<filetype>_alt_style=1
710 Example: java uses // style comments by default, but you want it to default to
711 /* */ style comments instead. You would put this line in your vimrc: >
712 let NERD_java_alt_style=1
715 See |NERDComAltDelim| for switching commenting styles at runtime.
717 ==============================================================================
718 4. Key mapping customisation *NERDComMappings*
720 To change a mapping just map another key combo to the internal <plug> mapping.
721 For example, to remap the |NERDComComment| mapping to ",omg" you would put
722 this line in your vimrc: >
723 map ,omg <plug>NERDCommenterComment
725 This will stop the corresponding default mappings from being created.
727 See the help for the mapping in question to see which <plug> mapping to
730 See also |'NERDCreateDefaultMappings'|.
732 ==============================================================================
733 5. Issues with the script *NERDComIssues*
736 ------------------------------------------------------------------------------
737 5.1 Delimiter detection heuristics *NERDComHeuristics*
739 Heuristics are used to distinguish the real comment delimiters
741 Because we have comment mappings that place delimiters in the middle of lines,
742 removing comment delimiters is a bit tricky. This is because if comment
743 delimiters appear in a line doesnt mean they really ARE delimiters. For
744 example, Java uses // comments but the line >
745 System.out.println("//");
747 clearly contains no real comment delimiters.
749 To distinguish between ``real'' comment delimiters and ``fake'' ones we use a
750 set of heuristics. For example, one such heuristic states that any comment
751 delimiter that has an odd number of non-escaped " characters both preceding
752 and following it on the line is not a comment because it is probably part of a
753 string. These heuristics, while usually pretty accurate, will not work for all
756 ------------------------------------------------------------------------------
757 5.2 Nesting issues *NERDComNesting*
759 If we have some line of code like this: >
760 /*int foo */ = /*5 + 9;*/
762 This will not be uncommented legally. The NERD commenter will remove the
763 "outter most" delimiters so the line will become: >
764 int foo */ = /*5 + 9;
766 which almost certainly will not be what you want. Nested sets of comments will
767 uncomment fine though. Eg: >
768 /*int/* foo =*/ 5 + 9;*/
773 (Note that in the above examples I have deliberately not used place holders
776 ==============================================================================
777 6. About *NERDComAbout*
779 The author of the NERD commenter is Martyzillatron --- the half robot, half
780 dinosaur bastard son of Megatron and Godzilla. He enjoys destroying
781 metropolises and eating tourist busses.
783 Drop him a line at martin_grenfell at msn.com. He would love to hear from you.
784 its a lonely life being the worlds premier terror machine. How would you feel
785 if your face looked like a toaster and a t-rex put together? :(
787 The latest stable versions can be found at
788 http://www.vim.org/scripts/script.php?script_id=1218
790 The latest dev versions are on github
791 http://github.com/scrooloose/nerdcommenter
793 ==============================================================================
794 8. Changelog *NERDComChangelog*
797 - remove the NERDShutup option and the message is suppresses, this makes
798 the plugin silently rely on &commentstring for unknown filetypes.
799 - add support for dhcpd, limits, ntp, resolv, rgb, sysctl, udevconf and
800 udevrules. Thanks to Thilo Six.
801 - match filetypes case insensitively
802 - add support for mp (metapost), thanks to Andrey Skvortsov.
803 - add support for htmlcheetah, thanks to Simon Hengel.
804 - add support for javacc, thanks to Matt Tolton.
805 - make <%# %> the default delims for eruby, thanks to tpope.
806 - add support for javascript.jquery, thanks to Ivan Devat.
807 - add support for cucumber and pdf. Fix sass and railslog delims,
811 - add support for newlisp and clojure, thanks to Matthew Lee Hinman.
812 - fix automake comments, thanks to Elias Pipping
813 - make haml comments default to -# with / as the alternative delimiter,
815 - add support for actionscript and processing thanks to Edwin Benavides
816 - add support for ps1 (powershell), thanks to Jason Mills
817 - add support for hostsaccess, thanks to Thomas Rowe
818 - add support for CVScommit
819 - add support for asciidoc, git and gitrebase. Thanks to Simon Ruderich.
820 - use # for gitcommit comments, thanks to Simon Ruderich.
821 - add support for mako and genshi, thanks to Keitheis.
822 - add support for conkyrc, thanks to David
823 - add support for SVNannotate, thanks to Miguel Jaque Barbero.
824 - add support for sieve, thanks to Stefan Walk
825 - add support for objj, thanks to Adam Thorsen.
828 - rewrote the mappings system to be more "standard".
829 - removed all the mapping options. Now, mappings to <plug> mappings are
831 - see :help NERDComMappings, and :help NERDCreateDefaultMappings for
833 - remove "prepend comments" and "right aligned comments".
834 - add support for applescript, calbire, man, SVNcommit, potwiki, txt2tags and SVNinfo.
835 Thanks to nicothakis, timberke, sgronblo, mntnoe, Bernhard Grotz, John
836 O'Shea, François and Giacomo Mariani respectively.
837 - bugfix for haskell delimiters. Thanks to mntnoe.
839 - add support for llvm. Thanks to nicothakis.
840 - add support for xquery. Thanks to Phillip Kovalev.
842 - fixed haskell delimiters (hackily). Thanks to Elias Pipping.
843 - add support for mailcap. Thanks to Pascal Brueckner.
844 - add support for stata. Thanks to Jerónimo Carballo.
845 - applied a patch from ewfalor to fix an error in the help file with the
847 - disable the insert mode ctrl-c mapping by default, see :help
848 NERDComInsertComment if you wish to restore it
850 ==============================================================================
851 8. Credits *NERDComCredits*
853 Thanks to the follow people for suggestions and patches:
900 Thanks to the following people for sending me new filetypes to support:
902 The hackers The filetypes~
904 Jonathan Derque context, plaintext and mail
906 Michael Brunner kconfig
907 Antono Vasiljev netdict
909 Ilia N Ternovich quickfix
910 John O'Shea RTF, SVNcommitlog and vcscommit, SVNCommit
913 fREW gentoo-package-mask,
914 gentoo-package-keywords,
915 gentoo-package-use, and vo_base
916 Alexey verilog_systemverilog, systemverilog
918 Michael Böhler autoit, autohotkey and docbk
920 Ramiro htmldjango and django
921 Stefano Zacchiroli debcontrol, debchangelog, mkd
922 Alex Tarkovsky ebuild and eclass
924 Rainer Müller Objective C
925 Jason Mills Groovy, ps1
926 Normandie Azucena vera
927 Florian Apolloner ldif
928 David Fishburn lookupfile
929 Niels Aan de Brugh rst
931 Christophe Benz Desktop and xsd
932 Eyolf Østrem lilypond, bbx and lytex
934 Nicolas Weber markdown, objcpp
935 tinoucas gentoo-conf-d
937 Bruce Sherrod velocity
938 timberke cobol, calibre
939 Aaron Schaefer factor
940 Mr X asterisk, mplayerconf
942 Brett Warneke spectre
945 Vladimir Lomov asymptote
947 nicothakis SVNAnnotate, CVSAnnotate, SVKAnnotate,
948 SVNdiff, gitAnnotate, gitdiff, dtrace
951 Jacobo Diaz dakota, patran
952 Li Jin gentoo-env-d, gentoo-init-d,
953 gentoo-make-conf, grub, modconf, sudoers
955 Greg Jandl pyrex/cython
956 Christophe Benz services, gitcommit
959 Martin Kustermann pamconf
960 Indriði Einarsson mason
962 Krzysztof A. Adamski group
963 Pascal Brueckner mailcap
964 Jerónimo Carballo stata
965 Phillip Kovalev xquery
966 Bernhard Grotz potwiki
969 Giacomo Mariani SVNinfo
970 Matthew Lee Hinman newlisp, clojure
971 Elias Pipping automake
972 Edwin Benavides actionscript, processing
973 Thomas Rowe hostsaccess
974 Simon Ruderich asciidoc, git, gitcommit, gitrebase
975 Keitheis mako, genshi
977 Miguel Jaque Barbero SVNannotate
980 Thilo Six dhcpd, limits, ntp, resolv, rgb, sysctl,
983 Simon Hengel htmlcheetah
985 Ivan Devat javascript.jquery
987 ==============================================================================
988 9. License *NERDComLicense*
990 The NERD commenter is released under the wtfpl.
991 See http://sam.zoy.org/wtfpl/COPYING.