-1

因此,我在我的 Mac (Colemak) 上使用了备用键盘布局,并且通过编辑.vimrc文件(只需两行,以便您获得图片),我已将 vim 重新映射为 colemak 布局:

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

所以现在,在 VIM 中,当L按下键(在 QWERTY 布局I上)类似于 colemak 时,它会按应有的方式打开插入模式。但是,当我点击y y拉线时,它会执行y然后o. 我需要重新映射y yo现在吗?

:map o yy

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

4

1 回答 1

1

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

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

  1. 仅取消映射操作员模式的键:
    :ounmap y
    
  2. 仅映射o -> yy普通模式(因此不会影响您的编辑):
    :nnoremap o yy
    
  3. 只需使用 Vim 的本机映射 for Y(或 Colemak 等效的Y)来拉动整行。
于 2019-11-13T15:53:57.303 回答