sponsor Vim development Vim logo Vim Book Ad

tComment : An extensible & universal comment plugin that also handles embedded filetypes

 script karma  Rating 327/117, Downloaded by 17468  Comments, bugs, improvements  Vim wiki

created by
Tom Link
script type
:TComment works like a toggle, i.e., it will comment out text that
contains uncommented lines, and it will uncomment already
commented text (i.e. text that contains no uncommented lines).

If the file-type is properly defined, :TComment will figure out which
comment string to use based on the values of &commentstring or &comments.
For some filetypes, the comment definition is explicitly defined. You can
|tcomment#DefineType()| to add your own definitions.

TComment knows how to deal with embedded code of a different filetype
than the main filetype, e.g., ruby/python/perl regions in vim scripts, HTML or
JavaScript in php code etc.

As operator (the prefix can be customized via g:tcommentMapLeaderOp1
and g:tcommentMapLeaderOp2):

    gc{motion}   :: Toggle comments (for small comments within one line
                    the &filetype_inline style will be used, if
    gcc          :: Toggle comment for the current line
    gC{motion}   :: Comment region
    gCc          :: Comment the current line

Primary key maps:

    <c-_><c-_>   :: :TComment
    <c-_><space> :: :TComment <QUERY COMMENT-BEGIN ?COMMENT-END>
    <c-_>b       :: :TCommentBlock
    <c-_>a       :: :TCommentAs <QUERY COMMENT TYPE>
    <c-_>n       :: :TCommentAs &filetype <QUERY COUNT>
    <c-_>s       :: :TCommentAs &filetype_<QUERY COMMENT SUBTYPE>
    <c-_>i       :: :TCommentInline
    <c-_>r       :: :TCommentRight
    <c-_>p       :: Comment the current inner paragraph

There is also a secondary set of key maps with <Leader>_ as leader (more
preferable on terminals).

The full documentation is available here:


Also available via git
install details
Edit the vba file and type:

    :so %

See :help vimball for details. If you use vim 7.0, you may need to
update your vimball installation first.

rate this script Life Changing Helpful Unfulfilling 
script versions (upload new version)

Click on the package to download.

package script version date Vim version user release notes
tcomment.zip 4.00 2022-07-22 7.0 Tom Link - FIX #190: use len() is str(display)width() is not defined
- Fix comments in Laravel blade filetype
- Merge pull request #193 from jaguadoromero/blade_comments_fix
- Add rust_inline
- Merge pull request #194 from alanjcfs/add-rust-inline
- FIX #197: Rmd support
- FIX #197: rmd defaults to markdown
- Add # as comment sign for qmake project files
- Merge pull request #200 from t-b/add-qmake
- ultralight refactoring
- Do not call setline() if it would not change it
- Use CamelCase for function names etc.
- Merge pull request #207 from blueyed/setline
- CLOSE #208: Add support for Cabal files (thanks to mn720)
- FIX #202: Make it easier to customize C-style line comments via g:tcomment#commentstring_c
- FIX #201: tcommentModeExtra: Use "j^" instead of "l^"; NEW >|
- Further refactoring
- Bump major version number due to possibly incompatible changes
- More refactoring (not backward-compatible)
- FIX #210: Move `call tcomment#deprecated#Check()` to autoload/tcomment.vim
- Add support for cdl files
- Merge pull request #211 from t-b/feature/add_cdl_support
- FIX #212: s/g:tcomment_textoject_inlinecomment/g:tcomment_textobject_inlinecomment/
- Run the deprecation checks eagerly (closes #215, closes #216)
- Merge pull request #217 from chocolateboy/eager-faster-deprecation
- FIX #210: Performance improvement for tcomment#deprecated#Check()
- FIX #218: Missing quote
- FIX #214: Guess filetype in perl files
- FIX #219: vim 7.4 compatibility
- FIX #191: Properly escape backslashes (for forth, nroff etc.); explicitly support forth
- FIX #213: Make whitespace optional
- EXPERIMENTAL: g:tcomment#filetype#guess defaults to 1
- FIX #213: Make whitespace conditional only at the end of a line
- FIX #220: don't escape backslashes in commentstring_rx
- In block mode: make sure to comment empty lines
- Block comment: Handle whitespace < prefix
- tcomment#filetype#GetAlt: s/[.]/_/g in filetype names
- g:tcomment#filetype#map_user, g:tcomment#filetype#syntax_map_user: Make it easier to customize the respective parameters
- tcomment#filetype#GetAlt(): cdef.guess > g:tcomment#filetype#guess_{filetype} > g:tcomment#filetype#guess
- FIX #222, FIX #224: g:tcomment#filetype#guess defaults to 0 again
- FIX #225: Process g:tcomment_types after autoload/tcomment/types/*.vim files
- Add type#Define for pug
- Merge pull request #226 from bootleq/pug
- FIX #228: guard_rx: Use replacements only on certain lines
- FIX #229: Re-enable some filetype-specific guess params
- Support for the terraform filetype
- Merge pull request #230 from Hinidu/patch-1
- Add Meson build system defenition
- Merge pull request #231 from rkuchumov/master
- Possibly FIX #232
- FIX #232: Try synID() with tran = 1 and 0
- ++Support for tsx, jsx
- NEW tcomment#DebugInfo()
- NEW tcomment#debug#CollectInfo()
- FIX #186 Support xml tags in jsx files
- FIX #159 use js-style comments for xmlAttrib; tcomment#filetype#Guess(): one-off error
- ft: jinja: there are no comment blocks
- FIX tcomment#syntax#GetSyntaxName: Make sure filetype key is in cdef
- Support julia and stata
- tcomment#syntax#GetSyntaxName(): Make sure cdef includes filetype field
- Support for julia
- Merge pull request #242 from PietroPate/master
- Merge pull request #240 from blueyed/jinja-comments
- Support for julia block comments
- stata block comments
- FIX #245: Missing comma
- Merge pull request #243 from PietroPate/master
- Add support for igorpro files
- Add cucumber comment definition
- Merge pull request #247 from pylipp/feature/support-cucumber
- FIX #248 handle jsx special case for uncommenting
- Merge pull request #246 from t-b/add-igor-pro
- tcomment#syntax#GetSyntaxName(): Make sure the rules in g:tcomment#syntax#substitute are applied before those in g:tcomment#syntax#substitute_by_filetype
- add taskrc filetype
- Merge pull request #249 from dsifford/dsifford-add-taskrc-type
- types/default.vim: fasm filetype
- Merge pull request #251 from dsirov/add-filetype-fasm
- add FSharp comment type
- Merge pull request #252 from josselinauguste/master
- Add javascriptreact/typescriptreact filetypes
- Add support for bibtex files
- Merge pull request #259 from t-b/add-bibtex
- Add Maude filetype
- Add support for go.mod
- Merge pull request #262 from josa42/add-go-mod
- Merge pull request #261 from magnusmb/master
- Merge pull request #256 from Chris-Slade/master
- Support for choose: Conditionally select a comment definition from a list of candidates (fixes https://github.com/tomtom/tcomment_vim/commit/0f94e969a14a0cd664ca67de38b640eaf54583ad?email_token=AAAJR5ACHF5PPVOR2JSULJDRD6UP3A5CNFSM4KF5DZ62YY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBDV5IA)
- FIX bib commentdef (use `if` condition proposed by enno)
- Add support for Agda files
- FIX #265 NEW g:tcomment_map_modifier, g:tcomment_opmap_modifier: Configure use of <silent> etc.
- Merge pull request #264 from akiomik/patch-1
- Add qml inline comment definition
- Merge pull request #267 from pylipp/patch-1
- FIX #269 Support for cuda
- support Swift
- Support dot
- Add alternative version of typescript
- Merge pull request #271 from bradleymackey/master
- Merge pull request #273 from amadeus/fix/typescript-alt
- Merge pull request #272 from tamago324/support-dot
- Add support for Snakemake files
- Merge pull request #275 from mnsmar/patch-1
- adding sbt filetype
- Merge pull request #276 from vito-c/vito
- Add support for spss
- tcomment#GuessCommentType(): Enrich return value
- Support Vim9 script and functions
- Merge pull request #278 from itchyny/support-vim9-script
- Add Stylus support
- Merge pull request #281 from herrbischoff/patch-1
- C-style comments: Support for /// etc. FIXES #282
- Restrict use of /// to the rust filetype FIXES #282
- Add support for bindzone and named type files
- Merge pull request #286 from alteriks/bind_named
- Fix function call
- Merge pull request #287 from aca/master
- XML style comments: don't escape "-" but "<!--" and "-->" FIX #288
- Add nix_inline type
- Merge pull request #293 from SuperSandro2000/patch-1
- Add support for Svelte by mapping to HTML
- Merge pull request #296 from trygveaa/add-svelte
- Support for custom TCommentGetCommentstring() function FIXES #284
SHA256 checksum: 6a3f85cfb3506ebff3872ffb6812d74086dbc290ea86e74dac7205a925caa9b5
tcomment.zip 3.08 2017-07-04 7.0 Tom Link - FIX #137: Prefer // for rust comments
- FIX #138: Support for jinja filetype (see https://github.com/Glench/Vim-Jinja2-Syntax)
- FIX #140: s:MapOp(): Don't evaluate registers to define op functions
- s:MapOp: Remove count argument
- support Tupfile comments
- Merge pull request #141 from cfillion/tup-comments
- FIX #123: GuessFileType(): don't use indent(); properly handle tabs
- GuessFileType(): Use strwidth() (FIX #144)
- autoload: Add Makefile support
- Merge pull request #146 from JIghtuse/master
- FIX #147: Add definition for robot file; re-enable col attribute (comment mode only)
- FIX #148: Prefer // for java comments
- Merge pull request #149 from phphong/change-java-default
- support commenting for the fish shell
- Merge pull request #150 from philolo1/support_fish
- Add support for Facebook JSX
- Merge pull request #151 from epeli/jsx
- CLOSE #152: postprocess_uncomment option
- Support for markdown
- Set markdown comment to <!--- ... --->
- FIX #153: map tblgen -> cpp
- runtime! autoload/tcomment/types/*.vim
- s:CommentDef(): If mixedindent is true, add 1 to cbeg only if not in inline comment-mode (experimental)
- s:AddModeExtra(): Make sure not to include duplicates
- Add Elm Comment Definition
- Merge pull request #156 from bradurani/patch-1
- Properly handle MAJOR.MINOR sub-filetypes
- FIX #160: Add license
- [jq] adding jq support
- Merge pull request #161 from vito-c/vito
- FIX #162: Ignore col option for inline comments
- notlib stub
- g:tcomment#filetype_map may match MAJ.MIN-style filetypes (FIX #162)
- adding support for solidiy
- merge
- Merge pull request #163 from mhhf/master
- FIX #164: s:ProcessLine() returns a list when g:tcomment#blank_lines == 0
- FIX #167: Define :Tlibtrace etc. also if an older version of tlib is installed
- Support for octave, matlab block comments (Malte Neuss)
- Fix blade block comment
- markdown: use <!-- ... --> (FIX #171)
- Merge pull request #170 from adriaanzon/patch-1
- add support for proto
- Merge pull request #172 from timfeirg/master
- Detect PHP regions in Blade
- Merge pull request #173 from adriaanzon/blade
- Add comment style for TypeScript (same as JavaScript)
- Merge pull request #175 from johngrimes/typescript
- Support for cypher (CLOSE #178)
- Support for the nix filetype
- AppleScript
- Merge pull request #181 from squm/master
- Merge pull request #180 from Hinidu/patch-1
- FIX #183: Remove the comment string only once
- FIX #184: Special handling of &cms=% %s
- <Plug>TCommen_gC map: force line-wise operation
- Added nim.
- Merge pull request #185 from rosshadden/master
- s:GuessVimOptionsCommentString(): Don't expect cms to be a proper format string
- Add basic Vue support
- Merge pull request #187 from adriaanzon/vue
SHA256 checksum: e38384a93873d91dd4ab811535d616aad14f0789d7e84e7da1a479357788bf1d
tcomment.vba 3.07 2015-10-02 7.0 Tom Link - FIX #137: Prefer // for rust comments
- FIX #138: Support for jinja filetype (see https://github.com/Glench/Vim-Jinja2-Syntax)
- FIX #140: s:MapOp(): Don't evaluate registers to define op functions
- s:MapOp: Remove count argument
- support Tupfile comments
- Merge pull request #141 from cfillion/tup-comments
- FIX #123: GuessFileType(): don't use indent(); properly handle tabs
- GuessFileType(): Use strwidth() (FIX #144)
- autoload: Add Makefile support
- Merge pull request #146 from JIghtuse/master
- FIX #147: Add definition for robot file; re-enable col attribute (comment mode only)
- FIX #148: Prefer // for java comments
- Merge pull request #149 from phphong/change-java-default
- support commenting for the fish shell
- Merge pull request #150 from philolo1/support_fish
- Add support for Facebook JSX
- Merge pull request #151 from epeli/jsx
- CLOSE #152: postprocess_uncomment option
- Support for markdown
MD5 checksum: 4d11779a42c22ea2dbb5f1309b29bce3
tcomment.vba 3.07 2015-03-14 7.0 Tom Link - FIX #135: Old map in help docs
- FIX #136: Uncomment omaps must not call *Anyway; fix handling of U in s:GuessCommentMode()
MD5 checksum: 1c9d1e9f1de51c7ddcd049839eb686aa
tcomment.vba 3.06 2015-03-06 7.0 Tom Link - Define toml type
- Merge pull request #133 from moorereason/toml
- FIX #134: s:Printf1() fix regexp
MD5 checksum: 279fcee28dcde33c347fa2ffa48da054
tcomment.vba 3.05 2015-02-24 7.0 Tom Link - add lilypond support
- Make sure to uncomment if mode = U
- Rename some <Plug> maps (replace "-" with "_")
- Make handling of the mode argument more correct
- FIX #117: Add support for liquid
- Add AppleScript support
- Add definition for Vader [1]
- Add definition for "cram"
- FIX #122: s:MapOp(): Define specialiced opfunc when necessary (this should also FIX #114)
- Use '# %s' for gitconfig files, as with the others (ft=git*)
- add autohotkey comment format
- Improved support for Rnw files (g:tcommentGuessFileType_rnoweb = "r")
- CLOSE #128: K comment mode
- Actually CLOSE #128: s:CommentDef(), s:AddModeExtra(): check for mode==K
- FIX #132: Handle mixed "//" % "/* ... */" C-like linewise comments   - tcomment#GetLineC(...), g:tcommentLineC_fmt   - use for more filetypes   - s:Count(), s:Printf1()
MD5 checksum: a63f84ff30a8d9e5dfa7f43b800c05bf
tcomment.vba 3.04 2014-09-14 7.0 Tom Link - tcomment#OperatorLine*: Use L as comment_type
- EndColRx: Use $ if pos >= strdisplaywidth of line (fix gc$ for certain filetypes)
- FIX #101: CommentBlock: Don't remove leading whitespace This caused problems when uncommenting block comments with blank/empty middle comment markers
- FIX #102: g:tcomment#must_escape_expression_backslash: Allow customization of pre-7.2-407 special case
- add noweb filetype
- Add support for asterisk
- CLOSE #105: Use g< and g> for explicit uncommenting and commenting - Rename g:tcommentMapLeaderOp2 to g:tcommentMapLeaderCommentAnyway - g:tcommentMapLeaderUncommentAnyway - C, U comment modes - s:GetTempOption()
- FIX #105: Allow count for visual g<, g>; fix g<; add -bar to command definitions
- Make <Plug>TComment-Comment, <Plug>TComment-Uncomment <silent>
- Add support for elixir file type
- CLOSE #107: Fix help on g:tcomment#options_comments and g:tcomment#options_commentstring
- jade support (http://jade-lang.com/)
- Support for context
- added comment definition for purescript
- FIX #112: g:tcomment#options_comments, g:tcomment#options_commentstring: check g:tcommentOptions for whitespace preference
MD5 checksum: 839a0aa6e7f5d6ef85a7d787609a323b
tcomment.vba 3.03 2014-04-13 7.0 Tom Link - GetStartEnd: ignore empty lines when determining the indentation level
- FIX #96: StartColRx(): Use "^" only for col < 1 (not <= 1)
- FIX #97: Set startcol depending on comment_mode
MD5 checksum: c6a7ac7e915d5cf7a710aa8f118b50de
tcomment.vba 3.02 2014-04-01 7.0 Tom Link - b:tcomment_def_{NAME}: Buffer-local configuration (closes #93)
- FIX #94: if line("'<") == line("'>") and col('.') is before the first character, use G mode
- FIX 95: GetStartEnd(): Don't set cbeg to 0 on empty lines
MD5 checksum: 5bca91c102f1192cccb75708659f825c
tcomment.vba 3.01 2014-03-28 7.0 Tom Link - Support for vimwiki (closes #80)
- Better handling of commentstrings like "%%%s"
- Support for verilog & verilog_systemverilog (closes #81)
- verlog inline comments
- Improved support for constructing comments from the &comments option
- Typo (fixes #82)
- Misc improvements to handling &comment, &commentstring; count for c-style comments only changes the first part of the comment; enable counts for gcb
- Ignore count for xmaps
- Re-enable custom verilog definitions (after debugging)
- Use strdisplaywidth() only with vim >= 7.3 (fixes #83)
- Disallow unsupported comment types (e.g. insert comments when only linewise comments are allowed)
- Remove custom javaScript comment definitions (use javascript)
- Misc changes to operator maps; gc$ maps to R-type comments (fixes #84)
- x/v op map: Use R type comment if cend ~~ col('$') (fixes #85)
- Maps are not <silent> any more (display error/warning message if any)
- If comment_mode == 'i', also check if it should rather be 'G'
- Make op maps silent again
- Improve configurability of mappings.
- Consistently use virtcol(); block comments properly support mixedindent
- Removed some superfluous :exec commands from map definitions
- Fix regression with text objects.
- <c-_>NUMBER maps always set the count argument for the subsequent map (makes it easier to insert /** */ type of comments)
- Misc changes (fixes #88)
- Let g:tcomment_types override default settings
- Support for blade.php (closes #90)
- Support for QML files (Qt Meta Language)
- FIX #92: GuessFileType(): avoid "E706: Variable type mismatch"
MD5 checksum: 10b548c1bfc946206ec46fca58ae5a62
tcomment.vba 3.00 2014-01-17 7.0 Tom Link - Help template
- Add asciidoc (//) and expect (#) definitions
- Fix xs commentstring
- Accept js as alias for javascript (fixes #70)
- Adding hy support
- s:GetStartEnd(): Make sure end >= begin (fixes #73)
- strip_whitespace defaults to 1 (fixes #54)
- "whitespace" option: Consistently use partial matching
- mixedindent option: Check only in s:StartColRx()
- s:CommentDef(): Minor optimization
- Support for remind filetype (closes #74)
- tcomment#TypeExists(name, ...): takes a mode as optional second argument
- R comments: Properly set cend to col('$')
- s:StartPosRx(), s:EndPosRx(): Ignore lnum in I mode
- s:StartColRx(): Takes a col as second argument
- Renamed g:tcommentBlankLines to g:tcomment#blank_lines (can be 0, 1, 2)
- s:GetCustomCommentString(): Take into account whether a custom comment style is defined for block & inline comments
- g:tcomment#rstrip_on_uncomment: Remove right-hand whitespace on uncomment
- Use a loop, not :s
- g:tcomment#ignore_comment_def
- mixedindent option defaults to 1
- mixedindent defaults to 1
MD5 checksum: c2668f9147783d47e640133e51ba20e4
tcomment.vba 2.09 2013-10-18 7.0 Tom Link - Adds Scala support
- Support for (firefox) chromemanifest filetype
- g:tcommentMaps: If true, set maps (fixes #42)
- addon-info
- Enable replacements for xml/html/... (fixes #44)
- Experimental option g:tcomment#mixed_indentation: Deal with inconsistent indentation styles (fixes #43)
- Experimental option 'mixedindent': Deal with inconsistent indentation styles (fixes #43)
- s:DoReplacements(): Handle an empty list of tokens correctly
- mixedindent: Set virtual column to strdisplaywidth(indentStr, cbeg) + 1
- mixedindent: mixedindentUndo previous change; use \%>v again
- Call :redraw only when tcomment#Complete* was called for the first time if v:version < 703
- s:FEscapeCommentString(): Correctly deal comment string that include %
- More flexible handling of "dotted" filetypes (fixes #45)
- Undo previous changes (s:FEscapeCommentString) (fixes #46)
- Map erubyExpression syntax to ruby filetype
- s:StartColRx(pos): Use ^ for pos 0-1 (fixes #47)
- If mixedindent: use col - 1
- Derive g:tcommentLineC from g:tcommentInlineC so that you can set g:tcommentLineC without having to set g:tcommentInlineC
- mixedindent: Adjust column only for inline comments
- g:tcommentModeExtra: Basic support for preferring block-type comments 'B' uncommenting doesn't work properly when called from operator maps
- Support for gcb maps (block comments) and experimental support for '#' mode extra for operator maps (fixes #49)
- opextra =~'#*: Adjust for commentstring containing printf placeholders (%) (closes #49)
- s:GuessFileType(): If there is no custom definition for the fallback filetype, use the filetype (fixes #45)
- g:tcomment#filetype_map now works on filetype parts (when using dotted filetype) & special support for rails-views (fixes #45)
- Support for postfix main (thanks to ypid)
- strip_whitespace option (closes #54)
- Support for cmake.
- Support for markdown.
- Support for sshdconfig.
- Support for sshconfig.
- Support for gnuplot (fixes #56)
- Support slim template
- s:CommentDef(): Uncommenting: correct string for &selection == inclusive (fixes #53)
- Support for esmtprc.
- "whitespace" option: Define whether to surround commented text with whitespace
- Experimental inline comment text object (not functional yet)
- tcomment#DefineType(name, commentdef, ?cdef={}, ?anyway=0)
- s:SetWhitespaceMode(cdef): Add whitespace if mode = "both" and the commentstring doesn't include whitespace
- Support for R6RS scheme block comments (fixes #60)
- Support for upstart.
- Support for racket filetype (fixes #60)
- Added form support
- Adding htmljinja support (same as htmldjango).
- Adding lua support
- Objective C++
- Support for salt stacks (closes #66); sort order of filetypes
- Support for dustjs (closes #67)
MD5 checksum: d507f7e6d171034a45e2d349561d29f1
tcomment.vba 2.08 2012-12-28 7.0 Tom Link - Enable count for gc operator maps (use e.g. 3gc2l instead of gc3c2l; maybe remove gc<count>c maps later on)
- <count>gc operator maps: use v:count instead of v:count1
- fixed unlet
- Merge branch 'master' of https://github.com/grassofhust/tcomment_vim
- Added vhdl to tcomment#DefineType
- tcomment#GuessCommentType(): Make filetype guessing accessible for other plugins
- FIX: didn't guess filetype correctly for lines containing only one character
- Guess filetype: Improved handling of empty lines
- g:tcommentSyntaxMap: support additional info on how to handle empty lines
- g:tcommentSyntaxMap: support filetype key: explicitly map syntax name per filetype (fixes #39)
- Fix typo
- Add `g:tcommentGuessFileType_smarty = 1`
- Define/handle 'ini' file type (e.g. for php.ini)
MD5 checksum: 702082a857ddeaf75d3b4fd884363173
tcomment.vba 2.07 2012-11-23 7.0 Tom Link - Avoid duplicate tag in help file (reported by utkarshkukreti)
- add puppet type
- Use \r instead of ^M
- support for haml and coffeescript
- Support for gitignore
- Merge branch 'master' of https://github.com/ignovak/tcomment_vim
- Enable "filetype guessing" for eruby (fixes #25)
- g:tcommentModeExtra: Always modify how commenting works
- g:tcommentModeExtra: >> ... Like > but also move the cursor to the next line
- adding gnu smalltalk comment style
- Add comment definition for "smarty"
- Sort definition for "sql"
- Merge branch 'master' of https://github.com/clutt0n/tcomment_vim
- added support for jasmine.coffee (cf. https://github.com/claco/jasmine.vim)
- fixed jasmine (have to use syntax instead of filetype)
- Block comments: set &sel = exclusive (fixes #30; bug 1)
- Merge branch 'master' of https://github.com/paulwittmann/tcomment_vim
- spec files for issue 30
- Inline comments: Include the current character if selection == inclusive (fixes #30 bug 2)
- gC in visual mode: call :TCommentMaybeInline! (fixes #30 bug 3)
- Added Clojure and Clojurescript support. Thou the comment is a single ';' it is a widely adopted convention to comment whole lines with ';;'
- command line completion: also offer rx*= arguments
- Merge branch 'master' of https://github.com/ssedano/tcomment_vim
- clojure: use ";" for inline comments
- TCommentRight used wrong column
- b:tcommentOptions: buffer-local options
- Deal with mode argument (concatenate with commentMode)
- Removed visual/selection maps for :TCommentRight
- <c-_>cc and <c-_>ca maps to temporary set options (count, as) on the fly
- <c-_>1 .. <c-_>9 maps to invoke :TComment count=N (repeat the comment string N times)
- clojure: use the "count" property instead of hardcoding the double semicolon (";;")
- Enable inline comments for insert & normal mode (create empty comments, which isn't always that useful; fixes #33)
- When guessing a filetype, make sure to use custom definitions when no syntax name is found
- gc<count>c maps that set the "count" attribute
- Make sure to ignore %%s in commentstrings
- gc<Count>c{motion} maps work as toggle
- Enable <c-_><Count> maps for insert mode
- Monkey language comment style
MD5 checksum: 0853c50ebdcd4c52a31b2ad2d514d1e0
tcomment.vba 2.06 2012-01-21 7.0 Tom Link - tcomment#Comment(): Remove last item in search history (reported by Raimond)
- Add config for conkyrc filetype.
- Add config for 'robots' filetype.
- tcomment#GetCommentDef(name)
- g:tcomment_types: override tcomment's default comment styles (fix #12)
- Fixed ft-guessing of htmldjango files
- Add definitions for dnsmasq, pac, resolv and squid.
- Avoid the problem reported in https://github.com/tomtom/tcomment_vim/pull/18
- Handle nested comments in c mode (fix #19)
MD5 checksum: 0e23f194638256fb4fa4a729df645966
tcomment.vba 2.05 2011-05-26 7.0 Tom Link - Explicit support for python (thanks to brendanarnold)
- Support for samba (thanks Dominic)
- .gitignore
- Define new types: debsources and debcontrol
- Removed some whitespace as proposed by blueyed
- Add config for typoscript filetype.
- EXPERIMENTAL commentstring_rx: Support for using regexps to uncomment code
- s:ProcessedLine: Don't substitute(rv, '\n', '\\\n', 'g')
- Try to handle char-type text objects (disabled by default)
- scss (SASS) filetype
- Add config for 'nginx' filetype.
MD5 checksum: 0e23f194638256fb4fa4a729df645966
tcomment.vba 2.04 2011-01-20 7.0 Tom Link - Support for fstab
- g:tcommentOptions: Other key-value options used by |tcomment#Comment()|.
- Support for django (thanks to Jim Tinsky)
- g:tcomment#syntax_substitute: Rewrite syntax names
- django support: minor correction
MD5 checksum: 994e5886d185857848b5472d5457b232
tcomment.vba 2.03 2010-12-07 7.0 Tom Link - s:PrintF(): Silently ignore malformed format strings
- Deal with major.minor pseudo-filetypes
- go-lang
- Remove s:SPrintF() since vim now has printf()
MD5 checksum: 4a13ffb1b1d46bbd2dc8dcee77507983
tcomment.vba 2.1 2010-10-02 7.0 Tom Link Minor bug fix.
tcomment.vba 2.0 2010-09-14 7.0 Tom Link - Support for erlang (thanks to Zhang Jinzhu)
- Support for x86conf
- Changed comment string for eruby (proposed by Vinicius Baggio)
- NEW: Enabled key=value pairs to configure commenting
- CHANGE: Moved the definition of some variables from plugin/tComment.vim to autoload/tcomment.vim
- CHANGE: Renamed the file plugin/tComment.vim to plugin/tcomment.vim
- CHANGE: Renamed certain global functions to tcomment#...
tComment.vba.gz 1.10 2009-10-11 7.0 Tom Link - tcomment#Operator defines w:tcommentPos if invoked repeatedly
- s:GuessFileType: use len(getline()) instead of col()
tComment.vba.gz 1.9 2008-05-15 7.0 Tom Link - Fix left offset for inline comments (via operator binding)
tComment.vba.gz 1.8a 2008-05-02 7.0 Tom Link The file autoload/tcomment.vim was packed as autoload/tComment.vim. If you installed 1.8, please rename that file or remove autoload/tComment.vim and use this vimball.
tComment.vba.gz 1.8 2008-05-01 7.0 Tom Link - Definitly require vim7
- Split the plugin into autoload & plugin.
- g:TCommentFileTypes is a list (this could cause problems when updating in certain situations)
- Fixed some block comment strings
- Removed extraneous newline in some block comments.
- Maps for visal mode (thanks Krzysztof Goj)
tComment.vba.gz 1.7 2007-08-30 7.0 Tom Link - gc{motion} (see g:tcommentMapLeaderOp1) functions as a comment toggle
operator (i.e., something like gcl... works, mostly); gC{motion} (see
g:tcommentMapLeaderOp2) will unconditionally comment the text.
- TCommentAs takes an optional second argument (the comment level)
- New "n" map: TCommentAs &filetype [COUNT]
- Defined mail comments/citations
- g:tcommentSyntaxMap: Map syntax names to filetypes for buffers with
mixed syntax groups that don't match the filetypeEmbeddedsyntax scheme (e.g.  
'vimRubyRegion', which should be commented as ruby syntax, not as vim
- FIX: Comments in vim*Region
- TComment: The use of the type argument has slightly changed (IG -> i,
new: >)
tComment.vba.gz 1.6 2007-05-01 7.0 Tom Link - Ignore sql when guessing the comment string in php files; tComment
sometimes chooses the wrong comment string because the use of sql syntax
is used too loosely in php files; if you want to comment embedded sql
code you have to use TCommentAs
- Use keepjumps in commands.
- Map <c-_>p & <L>_p to vip:TComment<cr>
- Made key maps configurable via g:tcommentMapLeader1 and
tComment.zip 1.5 2006-03-22 6.0 Tom Link - "Inline" visual comments (uses the &filetype_inline style if
available; doesn't check if the filetype actually supports this kind of
comments); tComment can't currently deduce inline comment styles from
&comments or &commentstring (I personally hardly ever use them); default
map: <c-_>i or <c-_>I
- In visual mode: if the selection spans several lines, normal mode is
selected; if the selection covers only a part of one line, inline mode
is selected
- Fixed problem with lines containing ^M or ^@ characters.
- It's no longer necessary to call TCommentCollectFileTypes() after
defining a new filetype via TCommentDefineType()
- Disabled single <c-_> mappings
- Renamed TCommentVisualBlock to TCommentRight
- FIX: Forgot 'x' in ExtractCommentsPart() (thanks to Fredrik Acosta)
tComment.zip 1.4 2005-03-16 6.0 Tom Link - Fixed problem when &commentstring was invalid (e.g. lua)
- perl_block
- <c-_>s mapped to :TCommentAs <c-r>=&ft<cr>
tComment.zip 1.3 2005-03-14 6.0 Tom Link - slightly improved recognition of embedded syntax
- if no commentstring is defined in whatever way, reconstruct one from
- The TComment... commands now have bang variants that don't act as toggles
but always comment out the selected text
- fixed problem with commentstrings containing backslashes
- comment as visual block (allows commenting text to the right of the main
text, i.e., this command doesn't work on whole lines but on the text to the
right of the cursor)
- enable multimode for dsl, vim filetypes
- added explicit support for some other file types I ran into
tComment.zip 0.2 2005-01-11 6.0 Tom Link - Fixed uncommenting of non-aligned comments
- improved support for block comments (with middle lines and indentation)
- using TCommentBlock for file types that don't have block comments creates
single line comments
- the default key bindings have slightly changed
- removed the TCommentAsBlock command (TCommentAs provides its functionality)
- removed g:tcommentSetCMS
tComment.zip 0.1 2005-01-07 6.0 Tom Link Initial upload
ip used for rating:

If you have questions or remarks about this site, visit the vimonline development pages. Please use this site responsibly.
Questions about Vim should go to the maillist. Help Bram help Uganda.