问题描述
|
我在这里看到一些有关使Shift-Tab在vim中运行的条目,但是当它们在Cygwin中运行在Windows命令提示符下时,它们都无法解决失败。在这种环境下,Shift-Tab对我来说就像未移动的选项卡一样工作,而我重新映射的尝试失败了:
:imap <S-Tab> ^D
[这是一个真实的Ctrl-D,在其前面输入Ctrl-V]
:imap
[在此处输入Ctrl-V,Shift-Tab;插入了制表符]
因此,似乎Shift修饰符被忽略了。关于如何进行的任何想法?谢谢。
解决方法
这在Cygwin控制台中不起作用,因为它为Tab和Shift + Tab发送相同的键码::2ѭ。
您可能需要安装Cygwin的mintty终端模拟器,该模拟器发送Shift + Tab的标准键代码:ѭ3:。
,建议您不要删除Cygwin版本,而应删除它并安装本机版本。这样,即使从bash shell启动Vim,您也可以映射Shift-Tab而不会出现问题。
,我现在没有窗户,但是看看您的vimrc是否包含
behave mswin
source ...\\mswin.vim
在这种情况下,
:e +g/mswin/norm!\\ 0i\" $MYVIMRC
应该自动将其注释掉。重新启动vim,并检查是否存在现有的映射:
:verbose map <S-Tab>
将向您显示任何现有映射以及上一次定义的位置,因此您可以找到导致这种情况的脚本/插件(:he :verbose-cmd
)
高温超导
更新评论:
好吧,Blimey,事实证明,使用Win32控制台神奇地无法实现Shift-Tab。没注意到。
也许是因为我
如今,使用Mintty可以提供更好的体验(例如Unix,例如复制粘贴,真正的替代终端,更高的性能以及重新连接屏幕会话)
可能已经调整了CompletionChar的设置,尽管对我来说这似乎也很松散
你可以尝试薄荷味吗?我想我多年来已经注意到了这种毛茸茸的不兼容性。但是,你永远不会知道:)