【问题标题】:Mapping <Ctrl-Ctrl> to ESC in VIM在 VIM 中将 <Ctrl-Ctrl> 映射到 ESC
【发布时间】:2014-09-06 08:42:43
【问题描述】:

在 OS X 上,我在键盘修改器设置中将 Caps-Lock 更改为 CTRL。很好,但我想在 VIM中使用 CTRLCTRL (快速双击)ESC >(我的小指正在抵抗 CTRL[)。可能吗?

已经使用au CursorHoldI * stopinsertset ut=2000 在两秒后退出Insert Mode,但是一些插件会干扰(完成,最常见)。

旁白:如果可能的话,这是否会与 Tmux 产生冲突?

【问题讨论】:

    标签: vim tmux


    【解决方案1】:

    你根本无法在 Vim 中单独映射 Ctrl,更不用说 CtrlCtrl。它严格来说是一个修饰键。

    【讨论】:

      【解决方案2】:

      正如@echristopherson 所说,Karabiner 可以做一些严肃的重映射魔法……
      根据他的建议,我找到了 Karabiner 文档并提出:

      <?xml version="1.0"?>
          <root>
          <item>
              <name>Ctrl Freak</name>
              <identifier>private.double_ctrl_to_escape</identifier>
              <autogen>
                  __DoublePressModifier__
                  KeyCode::CONTROL_L, KeyCode::CONTROL_L,
                  KeyCode::ESCAPE
              </autogen>
          </item>
      </root>
      

      我已经对它进行了一些快速测试,但从一开始,它似乎在 OSX、SUBLIME TEXT 和 VIM(在 TMUX 会话中)上执行没有问题。

      请记住:
      这是一个系统范围的解决方案。 对我来说,这是一件好事。我使用 60% 的键盘,需要充分利用我的空间。

      对于 VIM 特定解决方案:
      您将需要添加该位。可以在here 找到该文档。

      干杯!

      【讨论】:

        【解决方案3】:

        免费程序Karabiner(以前称为 KeyRemap4MacBook)可以执行许多类似性质的重新映射操作。我不具体了解双键,但我知道可以将单击 Ctrl 视为 Esc,同时将 Ctrl 按住一段可配置的时间)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-12-05
          • 1970-01-01
          • 2011-06-11
          • 1970-01-01
          • 2022-01-25
          • 2016-06-26
          • 2014-12-27
          相关资源
          最近更新 更多