维姆:<;Ctrl-h | j | k | l>;用于在插入模式下移动 我对VIM很陌生,我考虑设置它,这样我就可以使用Ctrl +移动键(H,J,K,L)在插入模式下移动。

维姆:<;Ctrl-h | j | k | l>;用于在插入模式下移动 我对VIM很陌生,我考虑设置它,这样我就可以使用Ctrl +移动键(H,J,K,L)在插入模式下移动。,vim,insert,keyboard-shortcuts,Vim,Insert,Keyboard Shortcuts,两个问题: 如何在.vimrc中设置此参数 这是值得推荐的(至少有一点点可观),还是仅仅是简单的“倒退” 您可以通过以下映射实现所需: inoremap <c-k> <up> inoremap <c-j> <down> inoremap <c-h> <left> inoremap <c-l> <right> inoremap inoremap inoremap inoremap 我看不出它有什么真

两个问题:

  • 如何在
    .vimrc
    中设置此参数
  • 这是值得推荐的(至少有一点点可观),还是仅仅是简单的“倒退”

  • 您可以通过以下映射实现所需:

    inoremap <c-k> <up>
    inoremap <c-j> <down>
    inoremap <c-h> <left>
    inoremap <c-l> <right>
    
    inoremap
    inoremap
    inoremap
    inoremap
    
    我看不出它有什么真正的问题,尽管您显然丢失了现有的映射(例如,
    来重新绘制屏幕)


    Vi纯粹主义者可能会对在文件中导航时保持插入模式的想法感到犹豫,但还有更糟糕的错误。

    人们已经告诉过你如何做到这一点,所以我只想回答你问题的第二部分

    我不太明白使用Vim和不使用模式的力量的意义。这种设置的主要问题是你将移动能力限制在“任何方向的一个字符”。这不是“错误”,这只是效率低下。那么
    F
    F
    t
    t
    (向前/向后移动到字符)呢?关于
    0
    $
    (移动到行首和行尾)?关于段落/句子移动(
    []{}
    )呢?关于到匹配的段落(
    %
    )等等怎么样


    在我看来,最好学会使用正常模式移动的全部力量,而不是将你的移动能力降低到
    hjkl

    你知道吗,插入模式下的CTRL-O会临时切换到正常模式,执行一个正常模式命令?所以,CTRL-O j、CTRL-O k等,但也可以使用CTRL-O^等。更糟糕的是,比如必须按住
    >Ctrl
    在文件中移动。这非常有效。我已将Caps Lock键重新映射为Ctrl键。这意味着我可以轻松地将我的小指移动到“a”键左侧1厘米处,然后在插入模式下使用H、J、K、L移动。如果有任何更符合人体工程学的方法在插入模式下移动,我很乐意知道。否则,我不理解不应该移动的论点Vim在插入模式下移动,只是为了“不在插入模式下移动”,或者说,这就是正常模式的作用。为什么?为什么不能在插入模式和正常模式下移动光标?Vim不应该很容易操作,让你输入更少的内容来完成更多的工作吗?:)我还映射到了切换模式。基本上,我的小指始终保持大写锁定(即Ctrl键)。很抱歉对这样一个旧答案发表评论,但是,在我的终端上,此解决方案在映射到
    ^H
    时会打断
    Shift+Backspace
    。当然,您可以这样做,但这不是插入模式的用途。在插入模式下,您应该插入文本。仅插入文本,不四处移动,这是正常模式下的作业。我建议您将所有插入模式的动作限制为一行:对于其他动作,正常模式更方便,但切换到正常模式仅向后移动一个字符/单词对我来说太多了。无论如何,我完全同意您的看法。当我发布我的答案时,我假设OP希望在按下
    肯定比按下
    la
    更快的情况下,有可能。我主要希望能够从当前行移动到上一行/下一行,但也可以左右移动(使用Ctrl+主行移动键)。+1对此,我从来不知道,普通的命令是如此强大,你真的只需要使用一个去大多数地方。“2k”将被我经常使用。