Vim Tips Wiki
Register
Advertisement
Tip 522 Printable Monobook Previous Next

created 2003 · complexity basic · author Breadman · version 5.7


When splitting a line in two, I sometimes insert a return before a space. Unfortunately, this mangles the autoindentation: the last tab turns into spaces. The following map fixes that problem:

"Fixes a rare autoindent error
inoremap <CR> <C-R>=ReturnWrapper()<CR>
function ReturnWrapper()
  if strpart(getline('.'), col('.') - 1) =~ '^\s*\S'
    return "\<Esc>wi\<CR>"
  else
    return "\<CR>"
  endif
endf

Comments[]

Advertisement