虽然我以前玩过它,但我终于开始定期使用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 _ ^
这基本上执行以下操作:
这似乎对我有用......
我只是将标准 qwerty 用于命令,将 dvorak 用于插入模式
这是设置方法
我的重新绑定:
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)
BTW L 本身到最后一行,而 N 是 fin 的最后一个字母。(感谢天祖指出这一点。)
PS我已经使用这些重新绑定一段时间了。现在我不在 vim 中使用它。我只使用默认的。
Vim 附带了一个扩展的 Dvorak 脚本,但不幸的是它不能直接source
执行,因为该文件包含几行指令和另一个撤消其效果的脚本。要阅读它,请发出以下命令:
:e $VIMRUNTIME/macros/dvorak
你可以使用它让 Vim 仅在插入模式下使用 Dvorak:
:set keymap=dvorak
这样,所有的命令仍然在 QWERTY 中,但您键入的所有内容都将在 Dvorak 中。
警告:嗯,几乎所有东西。插入模式、搜索模式和替换模式都将是 dvorak,但 ex 命令不会。这意味着您不必重新学习:wq
,但您需要输入:%s/foo/bar/gc
QWERTY。
如果您只想移动某些命令,这将无济于事,但我发现在我的脑海中,“向前移动一个单词”必然会“向上移动左手无名指”,而不是“询问打字部门字母在哪里” w' 是,然后按下它,”这使我更容易使用这种方法。