I want to write a conditional imap that will only be active when the OMNI completion popup window is active.
I can't quite get this to work. I have tried a few combinations of imaps: imap <buffer> <c-right> <C-R>=pumvisible()?"\<lt>C-Y>\<lt>C-\>\<lt>C-O>:call sqlcomplete#Map('column')\<lt>CR>\<lt>C-X>\<lt>C-O>\<lt>CR>":""<CR> imap <buffer> <c-right> <C-R>=pumvisible()?"\<lt>C-Y><C-\><C-O>:call sqlcomplete#Map('column')<CR><C-X><C-O>":""<CR> imap <buffer> <c-right> if pumvisible()|<C-Y><C-\><C-O>:call sqlcomplete#Map('column')<CR><C-X><C-O>|endif I can't use the if since that starts adding literal characters. I found a post by Georg Dahn which indicated he was using the \<lt>, not sure why, but I tried it as well. Net result, nothing is working so far, the above either do nothing or result in unexpected behaviour. The imap I use (which works exactly as I want) when the popup is visible is: imap <buffer> <c-right> <C-Y><C-\><C-O>:call sqlcomplete#Map('column')<CR><C-X><C-O> Thanks in advance for any suggestions. Dave