Hacker News new | ask | show | jobs
by tmallen 6523 days ago
Split screen with same file

:vsp

Syntax highlighting

:syntax on

Tabs

:tabnew

Bracket matching

:inoremap ( ()

:inoremap [ []

:inoremap { {}

And so many built-in tools...you really should take another look. I use TextMate on my Mac to churn out massive amounts of HTML, but any other editing happens in (G)Vim.

1 comments

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).
What 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.
No 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.

use :set showmatch
Showmatch 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