2010-08-30 103 views
2

我加入以下行vimrc的文件,这样就可以使用S-标签缩进映射已经在vim

map <esc>[Z <s-tab> 
ounmap <esc>[Z 

我已经加入此之后,我得到以下错误存在^我。我用SnippetsEmu插件

Error detected while processing function <SNR>15_SnipMapKeys: 
line 10: 
E227: mapping already exists for ^I 

我如何解决这个conflict.Why会出现这种情况

+3

'^ I'是一个标签。但是,如果您已将“”映射到某个东西,而不是映射了某个东西到“”,则会显示此消息,请检查“详细地图”的输出。你确定,vim可以区分''和''吗?在大多数终端中它不能。 – ZyX 2010-08-30 16:17:16

+0

@Zyx:是的,很难区分''和''。我正在尝试修复[Make Shift Tab Work](http://vim.wikia.com/wiki/Make_Shift-Tab_work)。那么,我的问题就是'^ I',因为我从我的vimrc中删除了命令'map >>',所以错误停止显示。映射到标签是问题然后是不是? – woodstok 2010-08-30 17:38:45

回答

1

你可以检测你的vim的版本是否能够Tab和Shift-Tab键区分的一个有用的方法是:

进入插入模式,按Ctrl-v *然后Shift-Tab。当我这样做时,我得到<S-Tab>(Windows XP上的gvim 7.2)。

如果你不明白,那么我不认为你可以将Shift-Tab和Tab分开映射到当前的设置。

* Ctrl-v将采用您按下的下一个组合键并输出vim实际看到的组合键。

编辑:如果你是来自mswin.vim,那么你会想要使用Ctrl-q来代替。