虽然我以前玩过,但现在我终于开始定期使用Dvorak (Simplified)。我已经与Vim保持了几年的稳定关系,现在我正在尝试找到最好的重新映射键绑定方式,以适应我新获取的Dvorak技能。
您如何重新映射Vim的键绑定以更好地与Dvorak配合工作?
鼓励解释!
虽然我以前玩过,但现在我终于开始定期使用Dvorak (Simplified)。我已经与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>
还有一些为了熟悉性而进行的更改,“s”/“S”可用于访问命令模式(冒号的旧位置,仍然有效)。
新增的好处
<C-w><C-w>
-也是“N”<C-w><C-r>
-也是“D”-亚当
我不觉得需要为Dvorak重新映射键 - 当我切换布局时,我很快就习惯了使用默认的按键绑定。
作为额外加分,这意味着当我在Dvorak和Qwerty之间切换时,我不必记住两个不同的键组合。 键盘布局的差异足以让我不期望按键在相同位置上。
有点晚了,但我使用以下内容:
" 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 _ ^
这基本上是做以下几件事:
这对我来说似乎有效...
我的重新绑定:
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
注意:
含义:
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指出这一点。)
另外,我之前使用过这些重新绑定键位。但现在我不再在vim中使用它们,只用默认的键位。
Vim内置了一个广泛的Dvorak脚本,但不幸的是它不能直接进行source
,因为该文件包含一些说明和另一个撤销其效果的脚本。要读取它,请使用以下命令:
:e $VIMRUNTIME/macros/dvorak
:set keymap=dvorak