Wikia

Vim Tips Wiki

Fix the x command in virtualedit mode

Talk0
1,613pages on
this wiki
Revision as of 09:18, September 29, 2008 by JohnBot (Talk | contribs)

Tip 734 Printable Monobook Previous Next

created May 27, 2004 · complexity basic · author Yakov Lerner · version 6.0


This tip is useful only for those who use virtualedit mode (set virtualedit=all, or set ve=all).

I like virtualedit mode except for behaviour of 'x' (delete character). When 'x' is used past end-of-line, it does nothing. I wanted it to jump left to the actual end-of-line so as to start deleting characters there. Below is 'x' redefinition that does exactly this; and it does not break 'x' in non-virtualedit mode:

" redefine x for virtualEdit so that past end of line, it jumps left to end-of-line
function! Redefine_x_ForVirtualEdit()
  if &ve != "" && col('.') >= col('$')
    normal $
  endif
endfu!
silent! unmap x
:nnoremap <silent>x x:call Redefine_x_ForVirtualEdit()<CR>

Comments

Around Wikia's network

Random Wiki