代码之家  ›  专栏  ›  技术社区  ›  gatoatigrado

区分大小写的键盘快捷键

  •  5
  • gatoatigrado  · 技术社区  · 14 年前

    我希望一些map/remap/nmap/etc.命令区分大小写,例如“<c-i>”与“<c-i>”。

    我查过谷歌和:帮助地图,但找不到这个。

    3 回复  |  直到 6 年前
        1
  •  6
  •   Roger Pate    14 年前

    在VIM或GVIM中,您当前似乎无法将控制与区分大小写相结合(我使用的是7.2)。我可能认为这是对前者的终端的限制,但不是后者。

    我在一个缓冲区中输入这个来测试它:

    地图<C-I>:回音“C-I”<CR>
    地图<C-S-I>:echo“C-S-I”<cr>

    拉动这些行,然后:@“(当执行寄存器”作为命令时)。使用以下命令验证地图:map<c-i>和<c-s-i>显示问题:<c-i>是<tab>,只有最后一个命令生效,而忽略移位。

    对于a lt,<a-i>和<a-s-i>按照gvim中的预期工作

    在Terminal VIM中,这两个映射到_)和_(至少在这里,检查一下:map<a-i>“如上所述),直接键入_)/_(我使用死键)会调用映射。实际上,执行a-i或a-s-i只是进入插入模式。

    当然,非控制和非alt会敏感地映射工作案例。

        2
  •  5
  •   Jay    14 年前

    添加 S 轮班

    <C-S-i>
    

    如果你用你的 大写锁定 ,(1)究竟是为了什么?你会有问题的。见 here 如果这是你的情况。

    我的错。

    无法使用可打印字符按设计完成。上述方法 与…合作 一层楼 ,例如 <C-S-F8> 。见 this thread 更多信息。

    我的解决方法是将它映射到完全不同和模糊的地方,并使用autohotkey或类似的方法来仅替换大写变量的组合。

        3
  •  1
  •   dnsmkl    6 年前

    文档说“ctrl-a和ctrl-a是等价的”。

    相关部分来自 :help notation

    CTRL-{char}   {char} typed as a control character; that is, typing {char}
                  while holding the CTRL key down.  The case of {char} does not
                  matter; thus CTRL-A and CTRL-a are equivalent.  But on some
                  terminals, using the SHIFT key will produce another code,
                  don't use it then.
    

    (不是作为回答,而是作为搜索引擎中有关案件敏感度的任何人的相关信息)