Inserts matching bracket, paren, brace or quote
Switch branches/tags
Nothing to show
Pull request Compare This branch is 15 commits ahead of vim-scripts:master.
Failed to load latest commit information.
plugin <> mappings removed, fixed jump after backtick. Mar 29, 2012
README update to not require autocmd Dec 10, 2010


This is a mirror of

There are very simple ways to insert a closing brace by setting up a few mappings. The problem with all these approaches is that they break undo, history or both. This script is my sixth attempt at correcting this problem and the first one that has worked in all scenarios.

Using this script, typing ``(`` will result in (|), where | is the cursor position and the double backticks are just marking input. Typing a ``)`` will move the cursor outside the parens. This moving outside works even in nested scenarios. Typing ``if(my_array['key`` results in if(my_array['key|']) and ``)`` gets you if(my_array['key'])|.

The paired characters are: [, (, {, ", '

Note: in Vim files (including .vimrc), you may not want pairing of " because it is the comment character. If you set a value for g:autoclose_vim_commentmode, the " character will not be paired if Vim considers the current buffer to be a Vim file.

    let g:autoclose_vim_commentmode = 1

If you like this script, you should also check out surround.vim