我在这里看到一些关于making Shift-Tab work in vim的条目,但是它们都没有解决在Cygwin中运行在Windows命令提示符下的失败。在那个环境中,Shift-Tab对我来说非常像一个未移位的选项卡,我的重新映射尝试失败了:
:imap <S-Tab> ^D
[这是一个真正的Ctrl-D,在它之前用Ctrl-V输入] :imap
[在此输入Ctrl-V,Shift-Tab;插入了一个Tab字符] 所以似乎忽略了Shift修饰符。有关如何进行的任何想法?感谢。
答案 0 :(得分:2)
这在Cygwin控制台中不起作用,因为它为 Tab 和 Shift + Tab 发送相同的密码:{{1 }}
您可能需要安装Cygwin的mintty终端模拟器,它会发送 Shift + Tab 的标准键码:^I
。
答案 1 :(得分:1)
我建议您删除它并安装native version,而不是弄乱Cygwin版本。这样,即使从bash shell启动Vim,也可以毫无问题地映射Shift-Tab。
答案 2 :(得分:0)
我现在没有窗口,但看看你的vimrc是否包含
behave mswin
source ...\mswin.vim
在那种情况下,
:e +g/mswin/norm!\ 0i" $MYVIMRC
应该自动评论这些。重新启动vim,并检查是否存在映射:
:verbose map <S-Tab>
将显示任何现有映射,以及最后定义的位置,因此您可以找到导致此问题的脚本/插件(:he :verbose-cmd
)
HTH
更新 到评论:
嗯 - 闷闷不乐,结果that Shift-Tab is magically impossible with Win32 Consoles。从来没有注意到。
也许是因为我
你能尝试一下吗?我想我多年来已经注意到这种毛茸茸的不相容性了。但是,你永远不会知道:)