【问题标题】:Mapping ALT '-' (dash/minus) in VsVim在 VsVim 中映射 ALT '-' (破折号/减号)
【发布时间】:2014-06-09 23:14:38
【问题描述】:

我已尝试寻找解决问题的方法,但似乎找不到任何可行的方法。我正在使用 VsVim,这是 Visual Studio 的 Vim 插件。在我的_vsvimrc 中,我有以下重映射:

nnoremap <A-=> <C-a>
nnoremap <A--> <C-x>

ALT+= 重新映射工作正常,但另一个映射是我遇到问题的地方。当我尝试使用它时,我只是听到错误声音并且它没有做任何事情。查看:map 我可以看到它看起来像是被映射的。我只是假设 &lt;lt&gt;AALT

n    <lt>A--> <C-X>
n    ½ <C-A>

所以我倾向于相信我的问题在于- dash 映射。是否有其他我不知道的映射方式?

任何帮助将不胜感激。

【问题讨论】:

  • @nMontu 当我在 gVim 中执行此操作时,它看起来像 '-' 被捕获,但我无法在 vsvim 中执行相同的检查,因为它只会插入 ^Q。还有其他方法可以检查吗?
  • 我认为这个问题与 vsvim 没有任何关系。如果您有任何疑问,请尝试删除插件并在 .vimrc 上为 创建一个简单的映射。关于检查,不是关于捕获'-',而是关于Alt+-。因此,您应该进入插入模式,按 Ctrl-Q(或 Ctrl-V - 检查该答案以了解详细信息,但如果它正在插入 ^Q,您可能应该使用 ^V)然后按 Alt--。我检查了我的 gVim,它没有看到 Alt--。
  • Alt-- 映射在 gVim 中工作得非常好,它在我的 vimrc 中。问题是在 vsvim 中使用相同的映射。我尝试在我的 vsvimrc 中映射它,并在 Visual Studio 中手动映射它。就像我说的那样,我不能在 vsvim 中执行 Ctrl-Q 或 Ctrl-V 检查,因为 Ctrl-Q 插入 ^Q 并且 Ctrl-V 映射到粘贴(即使我更改 vsvim 设置以让 vsvim 处理 Ctrl -V)。

标签: visual-studio vim remap vsvim


【解决方案1】:

如果您查看 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 问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-15
    • 1970-01-01
    • 2013-10-09
    • 1970-01-01
    • 2016-06-06
    • 2016-04-08
    • 2012-05-10
    相关资源
    最近更新 更多