I've got the following mappings and abbreviations in my .vimrc
let mapleader = ","
inoremap <leader>( ()<ESC>i
iabbrev pirnt print
Now abbreviations won't expand if the following character is an open parenthesis.
If I type:
pirnt,(
it won't correct my spelling mistake, and it leaves me with pirnt()
This seems to be the case for all mappings, for example I've got jj
mapped to <ESC>
, and if I type pirntjj
it simply puts me in normal mode, leaving my spelling mistake there.
Not using a leader has no effect, either.
inoremap ( ()<ESC>i
produces the same result.
How can I make Vim expand abbreviations if the following character is mapped to something else?
<C-]>
(see:h i^]
). So, maybe you could redefine your insert mode mapping like this:inoremap <Leader>( <C-]>()<Esc>i