In the example below, the 'cabbrev <silent>' doesn't work, while identical cabbrev without <silent> works ok (vim70d02) ----------------------------------------------- vim -u cab.vim # where cab.vim is below :GG<space> # this works, produces expected :GG * :BB<space> # doesn't work, does not produce :BB * :BB<space><space> # cursor jumps to column 9, why? :BB<space><space><bs> # finally produces :BB * ...
------------------------------------------------ " cab.vim set nocp cabbrev GG GG *<C-R>=Eatchar('\s')<CR> cabbrev <silent> BB BB *<C-R>=Eatchar('\s')<CR> func! Eatchar(pat) " let c = nr2char(getchar(0)) return (c =~ a:pat) ? '' : c endfunc -------------------------------------------------- Yakov