每当我启动vim时,它都认为我按下了“d”。如何阻止这种行为?

每当我启动vim时,它都认为我按下了“d”。如何阻止这种行为?,vim,Vim,每当我打开vim时,我按下的第一个键就会删除内容。它认为已经按下了“d”,所以如果我输入“j”,它会删除前两行,如果我按下“G”,它会删除所有内容。我检查了我的.vimrc,通过选择性地注释掉部分,它似乎是这一行: nnoremap <C-[> gT …但我看不出这是怎么造成的…?或^[与重要键相同。特别是在终端中,输入键的发送和屏幕的控制基于ANSI转义序列。这在GVIM中不是一个问题,它有自己的实现。因此,该键不能被映射!选择另一个。也不能作为映射的一部分,例如x,因为Vim等

每当我打开vim时,我按下的第一个键就会删除内容。它认为已经按下了“d”,所以如果我输入“j”,它会删除前两行,如果我按下“G”,它会删除所有内容。我检查了我的.vimrc,通过选择性地注释掉部分,它似乎是这一行:

nnoremap <C-[> gT
…但我看不出这是怎么造成的…?

或^[与重要键相同。特别是在终端中,输入键的发送和屏幕的控制基于ANSI转义序列。这在GVIM中不是一个问题,它有自己的实现。因此,该键不能被映射!选择另一个。也不能作为映射的一部分,例如x,因为Vim等待其他钥匙时将导致延迟

由于内部处理键盘输入的方式,Vim目前无法区分和。此外,一些组合键(如Ctrl+非字母键)无法映射,Ctrl+字母与Ctrl+Shift+字母无法区分。除非您的终端为其发送不同的termcap代码,而大多数情况下不会。这也适用于s到/、///等。唯一的例外是/。这是一个已知的痛点,也是关于vim_dev和vim IRC通道的各种讨论的主题

保罗·莱昂纳德·埃文斯(Paul LeoNerd Evans)等一些人希望解决这一问题,即使是支持这一点的终端中的console Vim,他们也提出了各种建议

但是到今天为止,还没有任何补丁或志愿者出现,尽管许多人表示希望在未来的Vim 8主要版本中使用它。

或^[与重要键相同。特别是在终端中,输入键的发送和屏幕的控制基于ANSI转义序列。这在GVIM中不是一个问题,它有自己的实现。因此,该键不能被映射!选择另一个。也不能作为映射的一部分,例如x,因为Vim等待其他钥匙时将导致延迟

由于内部处理键盘输入的方式,Vim目前无法区分和。此外,一些组合键(如Ctrl+非字母键)无法映射,Ctrl+字母与Ctrl+Shift+字母无法区分。除非您的终端为其发送不同的termcap代码,而大多数情况下不会。这也适用于s到/、///等。唯一的例外是/。这是一个已知的痛点,也是关于vim_dev和vim IRC通道的各种讨论的主题

保罗·莱昂纳德·埃文斯(Paul LeoNerd Evans)等一些人希望解决这一问题,即使是支持这一点的终端中的console Vim,他们也提出了各种建议


但是到今天为止,还没有补丁或志愿者站出来,尽管很多人表示希望在未来的Vim 8主要版本中使用它。

它几乎肯定会是你的。vimrc;如果你不展示它,我们无法帮助你。好吧,我做了一些二进制搜索,找到了令人不快的内容,但我不确定出了什么问题使用它:nnoremap GT要改进或澄清您的问题,请使用它下面的编辑链接,而不是评论。我已经为您在问题中添加了冒犯的一行。如果我将它添加到我的.vimrc中,我可以确认这是冒犯的一行。我得到了相同的行为。有趣的是,它只影响vim,而不影响gvim。它几乎肯定是您的.vimrc;我们不能如果你不显示,请帮助你。好吧,我做了一些二进制搜索,找到了有问题的行,但我不确定它有什么问题:nnoremap GT要改进或澄清你的问题,请使用它下面的编辑链接,而不是评论。我已经为你将有问题的行放入问题中。如果我将它添加到我的.vimrc中,我得到了相同的行为。有趣的是,它只影响vim,而不影响gvim。