Vim Dvorak键盘绑定(重新绑定:)

时间:2020-03-06 15:03:27  来源:igfitidea点击:

尽管我以前玩过它,但是我终于开始定期使用Dvorak(简体)。我与Vim保持稳定的关系已有好几年了,我正在尝试找出重新映射键绑定以适合我新发现的Dvorak技能的最佳方法。

我们如何将Vim的按键绑定重新映射到Dvorak的最佳工作方式?

鼓励解释!

解决方案

我使用一种较常见的推荐键绑定:

Dvorak it!
no d h
no h j
no t k
no n l
no s :
no S :
no j d
no l n
no L N
Added benefits
no - $
no _ ^
no N <C-w><C-w>
no T <C-w><C-r>
no H 8<Down>
no T 8<Up>
no D <C-w><C-r>

移动键位于同一位置。其他变化:

  • 删除'd'->垃圾'j'
  • 下一个'n'->看'l'
  • 上一个'N'->回首'L'

为熟悉起见,还进行了一些更改,'s'/'S'可用于访问命令模式(:的旧位置,该位置仍然有效)。

增加的好处

  • 行尾'$'-也-'-'
  • 行'^'的开头-也-'_'
  • 上移8个" T"
  • 下移8'H'
  • 下一个窗口&lt;C-w> &lt;C-w>-还要-'N'
  • 交换窗口&lt;C-w> &lt;C-r>-也-'D'

-亚当

Vim附带了广泛的Dvorak脚本,但不幸的是,它不能直接使用"源代码"功能,因为该文件包含几行指令和另一个脚本,无法消除其影响。要阅读它,请发出以下命令:

:e $VIMRUNTIME/macros/dvorak

我没有发现我需要重新映射Dvorak的键-切换布局时,我很快就习惯了使用默认的键绑定。

另外,这意味着当我在Dvorak和Qwerty之间切换时,不必记住两个不同的组合键。键盘布局上的差异足以使我不期望按键位于同一位置。

我只是将标准qwerty用于命令,将dvorak用于插入模式

这是设置方法

有点晚了,但是我使用以下方法:

" dvorak remap
noremap h h
noremap t j
noremap n k
noremap s l
noremap l n
noremap L N

" easy access to beginning and end of line
noremap - $
noremap _ ^

基本上,这将执行以下操作:

  • left-down-up-right都在主行的默认手指位置下(即,没有像默认的QWERTY Vim映射那样移动一个)
  • l / L用于下一个/上一个搜索结果
  • 使用-/ _到达行尾/开头

这似乎对我有用...

我的绑定:

noremap h h
noremap t j
noremap n k
noremap s l
noremap j t
noremap l n
noremap k s
noremap J T
noremap L N
noremap K S
noremap T J
noremap N L
noremap S K

笔记:

  • 在qwert中,vi必须使用'h',因为vi不想使用';'。非字母。但是在dvroak中,我们有's',那么为什么不利用这个优势呢?
  • vi使用Caps进行相对操作。这是一个好的设计理念。所以我尝试做到这一点。

含义:

n (Next) -> l (Left) -- "What's left?" resembles "What's next?"
s (Substitute) -> k (Kill then insert)
t (jump Till) -> j (Jump till)
N, S, T are similar.

J (Join lines) -> T (make lines Together)
K (Keyword) -> S (Subject)
L[count] (Line count) -> N (line Number)

顺便提一句。 L本身转到最后一行,而N是fin的最后一个字母。
(感谢tenzu指出这一点。)

P.S.我使用这些绑定已有一段时间了。现在我不在vim中使用它。我只是使用默认的。