changes courtesy of http://statico.github.com/vim.html