Search code examples
vimconflictkey-bindingskeymapping

Track down double keybindings / conflicting keys


I'm trying to map Shift-Tab to unindent lines in insert mode. Amongst various mappings this is what I like most:

inoremap <silent> <S-Tab> <C-d>

But whatever mapping I use Vim refuses to unindent a line. Instead it indents the line like a normal Tab. But as soon as I re-source my .vimrc the mapping starts to work as expected. In order to avoid to have the keybinding mapped twice somewhere in my .vimrc I added the mapping to a blank .vimrc. Suprise it works.

Other mappings related to the tab key are:

nnoremap <silent> <Tab> :bnext<Cr>
nnoremap <silent> <S-Tab> :bprevious<Cr>

ag/grep does not show anything else mapped to tab.

How can I track down conflicting keybindings?


Solution

  • Use

    :verbose map <S-Tab>
    

    it will show you the last place (file & line) it has been redefined.

    Comment it and try again.