在我的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>,有什么想法吗?
发布于 2014-12-02 04:28:06
要将<S-Tab>执行的命令重新映射到<C-d>,请在.vimrc中添加以下行
imap <C-d> <Plug>snipMateBack发布于 2014-12-03 22:46:24
snipmate文档指出,您应该在~/.vimrc中重新映射<Plug>snipMateBack。参见:h SnipMate-mappings。
一般来说,使用vim发行版(你就是这样)被认为是不适合新的vimmer的,因为当用户决定定制Vim时,它会中断Vim的学习,并设置障碍(如您在这里看到的)。就我个人而言,我建议你丢掉发行版。去找一个像pathogen这样的nice plugin manager,并在需要的时候安装插件。这样做意味着您可以在自定义Vim时加深对它的理解。
如果真的想使用发行版,那么您应该首先尝试向发行版issue tracker提交问题。
https://stackoverflow.com/questions/27235300
复制相似问题