4 ms·
Before you go overwriting pretty useful default functionality, check Vim's manual for what those do to see if it isn't more useful (I prefer the defaults).
by avinashv 18y ago
Before you go overwriting pretty useful default functionality, check Vim's manual for what those do to see if it isn't more useful (I prefer the defaults).
- thomasmallen 18y agoWhat part of the help docs is about brace/parentheses matching? Everything I've seen online uses a simple key mapping like the ones I posted.
- coliveira 18y agouse :set showmatch
- thomasmallen 18y agoShowmatch is there to highlight matching braces, not to insert them. The mappings actually match your braces by writing the close brace/parens/bracket. Here are the coding aids from my vimrc. They're pretty simple, as I don't like to change how Vim works too much: " Coding aids set undolevels=5000 set backspace=indent,eol,start vnoremap < <gv vnoremap > >gv " Braces, etc. inoremap ( ()<LEFT> inoremap (<CR> (<CR>)<ESC>O inoremap () () inoremap { {}<LEFT> inoremap {<CR> {<CR>}<Esc>O inoremap {{ { inoremap [ []<LEFT> inoremap [<CR> [<CR>]<Esc>O inoremap [] [] " Wrap in braces, etc. vnoremap -( <ESC>`>a)<ESC>`<i(<ESC> vnoremap -[ <ESC>`>a]<ESC>`<i[<ESC> vnoremap -{ <ESC>`>a}<ESC>`<i{<ESC> vnoremap -" <ESC>`>a"<ESC>`<i"<ESC> vnoremap -' <ESC>`>a'<ESC>`<i'<ESC> " End the line, adding a semicolon inoremap <S-CR> <ESC>A;<ESC>o noremap <S-CR> A;<ESC>j I also use NERDCommenter for quick commenting, an XML tag wrapper script, and a tag closer script. As you can see above, typing the open/close pair doesn't result in "())", and typing an open brace plus a carriage return automatically adds the close brace to the line below, in the format: function hello($name) { // Insertion point } Edit: Of course, that isn't my entire .vimrc
- avinashv 18y agoNo idea, but I don't find that useful. I use :set showmatch, and a plugin called UnMtchBracket.vim (IIRC) that highlights any currently unmatched brackets. This is pretty personal, so I guess it's something you may want to at least give a try.