Vim Tips Wiki
Advertisement
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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