36

虽然我以前玩过它,但我终于开始定期使用Dvorak (Simplified) 。几年来,我一直与 Vim 保持着稳定的关系,我正在尝试找出重新映射键绑定以适应我新发现的 Dvorak 技能的最佳方法。

如何重新映射 Vim 的键绑定以最好地使用 Dvorak?

鼓励解释!

4

7 回答 7

35

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

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' 可用于访问命令模式(: 的旧位置,仍然有效)。

额外的好处

  • 行尾 '$' -also- '-'
  • '^' 行的开头 -also- '_'
  • 向上移动 8 'T'
  • 向下移动 8 'H'
  • 下一个窗口<C-w><C-w>-也-'N'
  • 交换窗口<C-w><C-r>- 也 - 'D'

-亚当

于 2008-10-03T00:41:15.750 回答
20

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

作为奖励,这意味着当我在 Dvorak 和 Qwerty 之间切换时,我不必记住两个不同的组合键。键盘布局的差异足以让我不希望按键位于同一位置。

于 2008-10-03T10:32:32.163 回答
10

有点晚了,但我使用以下内容:

" 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 用于下一个/上一个搜索结果
  • 使用 -/_ 到达一行的结尾/开头

这似乎对我有用......

于 2009-01-27T15:37:38.917 回答
9

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

这是设置方法

于 2008-10-10T16:34:26.137 回答
4

我的重新绑定:

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)

BTW L 本身到最后一行,而 N 是 fin 的最后一个字母。(感谢天祖指出这一点。)

PS我已经使用这些重新绑定一段时间了。现在我不在 vim 中使用它。我只使用默认的。

于 2010-07-13T06:00:08.123 回答
2

Vim 附带了一个扩展的 Dvorak 脚本,但不幸的是它不能直接source执行,因为该文件包含几行指令和另一个撤消其效果的脚本。要阅读它,请发出以下命令:

:e $VIMRUNTIME/macros/dvorak
于 2008-10-03T09:18:02.360 回答
1

你可以使用它让 Vim 仅在插入模式下使用 Dvorak:

:set keymap=dvorak

这样,所有的命令仍然在 QWERTY 中,但您键入的所有内容都将在 Dvorak 中。

警告:嗯,几乎所有东西。插入模式、搜索模式和替换模式都将是 dvorak,但 ex 命令不会。这意味着您不必重新学习:wq,但您需要输入:%s/foo/bar/gcQWERTY。

如果您只想移动某些命令,这将无济于事,但我发现在我的脑海中,“向前移动一个单词”必然会“向上移动左手无名指”,而不是“询问打字部门字母在哪里” w' 是,然后按下它,”这使我更容易使用这种方法。

于 2013-02-09T19:44:30.763 回答