【问题标题】:vim mapping ctrl-;vim 映射 ctrl-;
【发布时间】:2010-06-23 11:44:03
【问题描述】:

在我的例子中,右移按钮是 ;

我希望 Ctrl; 将光标向右移动 7 个字符。 我尝试了下面的 .vimrc 映射,但它不起作用:

nmap <c-;> 7;

【问题讨论】:

    标签: vim mapping ctrl


    【解决方案1】:

    就像之前的评论所说的那样,似乎“;”不能采用<C-;> 的形式。

    您可以测试键入 Ctrl+V + 按键顺序。

    Ctrl+V + ; 只给出 ;Ctrl+V kbd> + L^L

    所以我认为 vim 无法识别<C-;>

    您可以在关键代码帮助页面上获得更多信息:

    :help keycodes
    :help <C-
    

    【讨论】:

    • 使用 ctrl+v 技巧,我意识到 &lt;M-;&gt; 工作得很好,所以这可能是一个潜在的解决方法。
    【解决方案2】:

    我不确定,但可能是因为&lt;C-;&gt; 没有映射到 ASCII 字符。只有 @A-Z[\]^_Ctrl 结合使用时映射为 ASCII 字符(分别为 0 到 31)。

    编辑

    我做了一些搜索,找到了this thread。其中,据说gvim.exe 按照我建议的方式工作:只使用有效的控制字符,不要使用其他字符。有趣的是vim.exe 的工作方式不同,你可以做你想要的映射。

    【讨论】:

      【解决方案3】:

      正如其他人所说,&lt;c-;&gt; 无法映射。 最好的解决办法是:

      nmap <C-l> 7l
      nmap <C-h> 7h
      

      您可以改为重新映射常规光标键。
      像这样的东西也可以工作:

      nmap <C-Right> 7l
      nmap <C-Left> 7h
      

      调整窗口大小的其他示例:

      " resize horzontal split window
      nmap <C-Up> <C-W>-<C-W>-
      nmap <C-Down> <C-W>+<C-W>+
      " resize vertical split window
      nmap <C-Right> <C-W>><C-W>>
      nmap <C-Left> <C-W><<C-W><
      

      【讨论】:

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