Vimwiki table default mappings include
<tab> for moving to the next table column in insert mode.
Also UltiSnips default mappings include
<tab> for expanding snippets in insert mode.
Here is the result for
:verbose imap <tab>
i <Tab> *@vimwiki#tbl#kbd_tab() Last set from ~/.vim/plugged/vimwiki/ftplugin/vimwiki.vim line 543 i <Tab> * <C-R>=UltiSnips#ExpandSnippet()<CR> Last set from ~/.vim/plugged/ultisnips/autoload/UltiSnips/map_keys.vim line 61
When I intend to use a snippet inside a vimwiki table,
<tab> doesn't work - it just follows the vimwiki mapping and takes cursor to the next column. I would like to have
<tab> work for both, i.e., if Ultisnips is not triggering results then use Vimwiki, otherwise use UltiSnips. I had mentioned this issue at vimwiki repo on github and was suggested to use a conditional.
I don't really know how to add conditionals for two different plugin mappings, hence asking for help. How do I achieve this?
P.S. There are a few "solutions" to this problem, for instance, as suggested here, one can add
let g:vimwiki_table_mappins = 0
.vimrc and then use a different mapping for
vimwiki#tbl#kbd_tab(). There are other solutions in that thread as well.
But the reason I am wanting to have conditionals is that it let's me keep same old mappings and also according to vimwiki helpfile,
g:vimwiki_table_mappings option will be fully removed at a later point. Then the above wouldn't work. It also seems like a general problem to me to have the same keybinding for different plugin mappings using conditionals.
I would thankful for any help on this, even for a sketch of how to do it.