sponsor Vim development Vim logo Vim Book Ad

delimitMate : Provides auto-balancing and some expansions for parens, quotes, etc.

 script karma  Rating 426/168, Downloaded by 12755  Comments, bugs, improvements  Vim wiki

created by
Israel Chauca Fuentes
script type
This plug-in provides automatic closing of quotes, parenthesis, brackets, etc., besides some other related features that should make your time in insert mode a little bit easier, like syntax awareness (will not insert the closing delimiter in comments and other configurable regions), visual wrapping, <CR> and <Space> expansions (off by default), and some more.

Most of the features can be modified or disabled permanently, using global variables, or on a FileType basis, using :autocmd.

i.e.: The following line in your vimrc would turn auto-completion off for the "mail" file type:

        au FileType mail let b:delimitMate_autoclose = 0

Read :help delimitMate for detailed information. You can also follow the "Vim wiki" link on the top to discuss about this script.
install details
Unzip the archive in your $HOME/.vim directory or $HOME/vimfiles under MS Windows.

Get the git repo and/or leave bug reports and feature request here:


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
delimitMate-2.7.zip 2.7 2014-12-03 7.0 Israel Chauca Fuentes - Lots of bug fixes.
- Add delimitMate_offByDefault.
- Add delimitMate_eol_marker.
- Reduce the number of mappings.
- Stop using setline().
- Better handling of nested quotes.
- Allow a custom pattern for smart_quotes.
delimitMate-2.6.vba 2.6 2011-01-16 7.0 Israel Chauca Fuentes - Add smart_matchpairs feature.
- Add mapping to jump over contiguous delimiters.
- Fix behaviour of b:loaded_delimitMate.
delimitMate.vba 2.5.1 2010-09-30 7.0 Israel Chauca Fuentes - Remove visual wrapping. Surround.vim offers a much better implementation.
- Minor mods to DelimitMateTest.
delimitMate.zip 2.5 2010-09-24 7.0 Israel Chauca Fuentes - Better handling of mappings.
- Add report for mappings in :DelimitMateTest.
- Allow the use of "|" and multi-byte characters in 'delimitMate_quotes' and 'delimitMate_matchpairs'.
- Allow commands to be concatenated using |.
delimitMate.vba.gz 2.4.1 2010-07-31 7.0 Israel Chauca Fuentes - Fix problem with <Home> and <End>.
- Add missing doc on 'delimitMate_smart_quotes', delimitMateBalance and  'delimitMate_balance_matchpairs'.
delimitMate.vba.gz 2.4 2010-07-29 7.0 Israel Chauca Fuentes - Unbalanced parens: see :help delimitMateBalance.
- Visual wrapping now works on block-wise visual with some limitations.
- Arrow keys didn't work on terminal.
- Added option to allow nested quotes.
- Expand Smart Quotes to look for a string on the right of the cursor.
delimitMate.vba.gz 2.3.1 2010-06-06 7.0 Israel Chauca Fuentes - Fix: an extra <Space> is inserted after <Space> expansion.
delimitMate.vba.gz 2.3 2010-06-06 7.0 Israel Chauca Fuentes - Syntax aware: Will turn off when editing comments or other regions.
- Changed format of most mappings.
- Fix: <CR> expansion doesn't brake automatic indentation adjustments anymore.
- Fix: Arrow keys would insert A, B, C or D instead of moving the cursor when using Vim on a terminal.
delimitMate.vba.gz 2.2 2010-05-17 7.0 Israel Chauca Fuentes - Added command :DelimitMateSwitch to switch the plug-in on and off.
- Fix: some problems with <Left>, <Right> and <CR>.
- Fix: A small problem when inserting a delimiter at the beginning of the line.
delimitMate.vba.gz 2.1 2010-05-10 7.0 Israel Chauca Fuentes - Most of the functions have been moved to an autoload script to avoid loading unnecessary ones.
- Fixed a problem with the redo command.
- Many small fixes.
delimitMate.vba.gz 2.0 2010-04-01 7.0 Israel Chauca Fuentes * New features:
- All features are redo/undo-wise safe.
- A single quote typed after an alphanumeric character is considered an apostrophe and one single quote is inserted.
- A quote typed after another quote inserts a single quote and the cursor jumps to the middle.
- <S-Tab> jumps out of any empty pair.
- <CR> and <Space> expansions are fixed, but the functions used for it are global and can be used in custom mappings. The previous system is still active if you have any of the expansion options set.
- <S-Backspace> deletes the closing delimiter.

* Fixed bug:
- s:vars were being used to store buffer options.
delimitMate.vba.gz 1.6 2009-10-16 7.0 Israel Chauca Fuentes Now delimitMate tries to fix the balancing of single quotes when used as apostrophes. You can read ":help delimitMate_apostrophes" for details.
Fixed an error when b:delimitMate_expand_space wasn't set and g:delimitMate_expand_space was.
delimitMate.vba.gz 1.5 2009-10-05 7.0 Israel Chauca Fuentes Fix: delimitMate should work correctly for files passed as arguments to Vim. Thanks to Ben Beuchler for helping to nail this bug.
delimitMate.vba.gz 1.4 2009-10-01 7.0 Israel Chauca Fuentes Fix: delimitMate is now enabled on new buffers, even if they don't have the file type option set or were opened directly from the terminal.
Edit: added missing doc file.
delimitMate.vba.gz 1.3 2009-09-24 7.0 Israel Chauca Fuentes Local options can be used along with autocmd for specific file type configurations.
- Unnamed register content is not lost on visual mode.
- Use noremap where appropiate.
- Wrapping a single empty line works as expected.
delimitMate.vba.gz 1.2 2009-09-07 7.0 Israel Chauca Fuentes Fixes:
- When inside nested empty pairs, deleting the innermost left delimiter would delete all right contiguous delimiters.
- When inside an empty pair, inserting a left delimiter wouldn't insert the right one, instead the cursor would jump to the right.
- New buffer inside the current window wouldn't have the mappings set.
delimitMate.vba.gz 1.1 2009-08-25 7.0 Israel Chauca Fuentes Fixed an error that ocurred when mapleader wasn't set and added support for GetLatestScripts auto-detection.
delimitMate.vba.gz 1.0 2009-08-23 7.0 Israel Chauca Fuentes 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.