0

在我的 after.vim 配置中,我有一行:

inoremap <S-Tab> <C-d>

我希望这个绑定能够工作。但是,在启动 VIM 后,我输入第一行并得到以下输出:

: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

所以 snipmate 正在覆盖映射。我知道我可以在/bundle/snipmate.vim/after/plugin/snipMate.vim文件中更改它,但这看起来真的很难看,因为我的 .gitignore 中有 /bundle,这似乎是标准做法。

关于如何覆盖它或防止 snipmate 绑定到的任何想法<S-Tab>

4

2 回答 2

0

要重新映射执行的命令,将以下行添加到您<S-Tab><C-d>.vimrc

imap <C-d> <Plug>snipMateBack
于 2014-12-01T20:28:05.867 回答
0

snipmate 文档指出您应该<Plug>snipMateBack~/.vimrc. 见:h SnipMate-mappings

通常,使用 vim 发行版(您就是这样)对新 vimer 来说是不利的,因为它会破坏学习 Vim 并在用户决定自定义时设置障碍(如您在此处看到的)。我个人建议你失去发行版。去找一个像病原体这样的插件管理器,并在需要时安装插件。这样做意味着您在自定义 Vim 时会加深对 Vim 的理解。

如果真的想使用发行版,那么您应该首先尝试向您的发行版问题跟踪器提交问题。

于 2014-12-03T14:46:24.043 回答