VIM Colemak yank 重新映射问题

VIM Colemak yank remapping issues

所以我在我的 Mac (Colemak) 上使用备用键盘布局,并且我通过编辑 .vimrc 文件(仅两行)为 colemak 布局重新映射 vim这样你就可以得到图片):

noremap y o  
noremap p r
... (and so on)

所以现在,在 VIM 中按下 L 键(在 QWERTY 布局上)类似于 colemak 上的 I,它按原样打开插入模式。然而,当我点击 y y 来抽出一行时,它会执行 y 然后 o。我现在需要重新映射 y yo 吗?

:map o yy

但这意味着在编辑模式下 o 会变成 y y,不是吗?如果我错了请纠正我并帮助我解决这个怪癖。

您的 .vimrc 文件中的某处看起来您的 y -> o 映射仅适用于 operator-pending mode,因为根据您编写的第一个 y 注册为 y.

您可以通过以下几种方式解决此问题:

  1. Unmap 操作员模式专用键:
    :ounmap y
    
  2. o -> yy映射到only normal mode(这样不会影响你的编辑):
    :nnoremap o yy
    
  3. 只需使用 Vim 的 Y 的原生映射(或 Y 的 Colemak 等价物)来抽取整个线。