我已经尝试过寻找解决问题的方法,但我似乎无法找到有效的方法。我正在使用VsVim,这是Visual Studio的Vim插件。在我的_vsvimrc
中,我有以下重新映射:
nnoremap <A-=> <C-a>
nnoremap <A--> <C-x>
ALT + = 重映射工作正常,但另一个映射是我遇到问题的地方。当我尝试使用它时,我只是听到一个错误的声音而且它没有做任何事情。看:map
我可以看到它看起来像是映射的。我假设<lt>A
ALT 。
n <lt>A--> <C-X>
n ½ <C-A>
所以我倾向于相信我的问题在于-
破折号映射。是否有不同的方式来映射我不知道的?
任何帮助都将不胜感激。
答案 0 :(得分:3)
如果你看看GitHub上的"Keymap issues with Alt" VsVim问题,你会看到(截至本文撰写时)VsVim不支持其中带有 ALT 的映射。 (你确定你的 ALT - = 绑定工作吗?我试了一下但没有成功。)显然,在Visual Studio中捕获这些键是非常重要的。 Jared评论了这个问题:
花了一些时间与Visual Studio中键盘路由的所有者交谈。他们向我保证,实际上没有办法从扩展中拦截Alt键。在某些有限的情况下(控制IVsWindowPane)它是可能的,但它通常不是受支持的功能。
这真的让我陷入困境。我相信我仍然可以通过将VsVim切换到一个包,注册绑定到Alt的DTE.Command对象并以这种方式拦截它们来伪造这种行为。这是一个相当大的变化。
这是一个旧评论,从那时起,他已经 switched VsVim to be a full package。但是,在撰写本文时,似乎他没有修复 Alt 问题。