0

In my after.vim config I have line:

inoremap <S-Tab> <C-d>

I would like this binding to work. However, after starting VIM I type the first line and get the following output:

:verbose map <S-Tab> 
s  <S-Tab>     * <Esc>i<Right><C-R>=BackwardsSnippet()<CR>
Last set from ~/dotvim/bundle/snipmate.vim/after/plugin/snipMate.vim

So snipmate is overwriting the mapping. I understand I could change it within the /bundle/snipmate.vim/after/plugin/snipMate.vim file, but that seems really ugly because I've got /bundle in my .gitignore, which seems to be standard practice.

Any ideas on how to override this, or prevent snipmate from binding to <S-Tab> ?

newUserNameHere
  • 17,348
  • 18
  • 49
  • 79

2 Answers2

0

To remap the command executed by <S-Tab> to <C-d> add the following line to your .vimrc

imap <C-d> <Plug>snipMateBack
Zach
  • 4,652
  • 18
  • 22
  • Hmm, that's strange, because it works for me. Interestingly, when i use `:verbose map ` with that line in my `.vimrc` it still says that snipmate is binding the key, although when I actually use vim, `` doesn't do anything. – Zach Dec 02 '14 at 21:42
0

The snipmate documentation states you should remap <Plug>snipMateBack in your ~/.vimrc. See :h SnipMate-mappings.

Generally using a vim distribution (which you are) is considered bad for new vimmers because it disrupts learning Vim and puts up barriers when a user decides to customize (as you see here). Personally I would suggest you lose the distribution. Go find a nice plugin manager like pathogen and install plugins when you need them. Doing this means you grow your understanding of Vim as you customize it.

If really do want to use a distribution then you should first try submitting an issue to your distributions issue tracker.

Peter Rincker
  • 43,539
  • 9
  • 74
  • 101