Vim Dvorak keybindings(rebindings :)

虽然我之前玩过,但我终于开始经常使用Dvorak(简体) 。 几年来,我一直和Vim保持稳定的关系,而且我正试图找出重新映射键绑定以适应我新发现的Dvorak技能的最佳方法。

你如何将Vim的关键绑定重新映射到Dvorak的最佳作品?

鼓励解释!

7 Solutions collect form web for “Vim Dvorak keybindings(rebindings :)”

我使用一个更常见的build议键盘绑定 :

Dvorak it! no dh no hj no tk no nl no s : no S : no jd no ln no LN Added benefits no - $ no _ ^ no N <Cw><Cw> no T <Cw><Cr> no H 8<Down> no T 8<Up> no D <Cw><Cr> 

移动键保持在同一位置。 其他变化:

  • 删除'd' – >垃圾'j'
  • Next'n' – >看'l'
  • 前面的'N' – >回头看'L'

也有一些熟悉的变化,'/'S'可以用来访问命令模式(旧的位置,仍然有效)。

增加的好处

  • 行'$'的结尾 – 同 – ' – '
  • 行'^'的开始 – 同样 – '_'
  • 上移8'T'
  • 向下移动8'H'
  • 下一个窗口<Cw><Cw> -also-'N'
  • 交换窗口<Cw><Cr> -also-'D'

-亚当

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

作为奖励,这意味着当我在Dvorak和Qwerty之间切换时,我不必记得两个不同的组合键。 键盘布局的差异就足够了,我不期待键在相同的位置。

我只使用标准的QWERTY命令和插入模式使用dvorak

这里是如何设置它

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

 " dvorak remap noremap hh noremap tj noremap nk noremap sl noremap ln noremap LN " easy access to beginning and end of line noremap - $ noremap _ ^ 

这基本上做到以下几点:

  • 左下 – 右 – 全部在主行的默认手指位置下(即,不像默认的QWERTY Vim映射那样移动一个)
  • l / L用于下一个/上一个search结果
  • 使用 – / _到达一行的结尾/开始

这似乎为我工作…

我的重写:

 noremap hh noremap tj noremap nk noremap sl noremap jt noremap ln noremap ks noremap JT noremap LN noremap KS noremap TJ noremap NL noremap SK 

笔记:

  • 在qwert中,vi必须使用'h',因为vi不想使用';' 一个非信件。 但在dvroak中,我们有's',所以为什么不利用这个优势呢?
  • vi使用Caps进行相关操作。 这是一个很好的devise理念。 所以我试图符合这个。

含义:

 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是最后一个字母。 (感谢tenzu指出这一点。)

PS我已经使用了这些rebindings一段时间。 现在我没有在vim中使用它。 我只是使用默认的。

Vim附带了一个广泛的Dvorak脚本,但不幸的是它不是直接可用的,因为该文件包含几行指令和另一个脚本来解除其影响。 要阅读它,请发出以下命令:

 :e $VIMRUNTIME/macros/dvorak 

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

 :set keymap=dvorak 

这样所有的命令仍然在QWERTY中,但是你input的所有东西都在Dvorak中。

注意事项:好吧,几乎所有的东西。 插入模式,search模式和replace模式都将是dvorak,但是ex命令不会。 这意味着你不必重新学习:wq ,但是你需要在QWERTY中键入:%s/foo/bar/gc

如果你只想移动某些命令,这也无济于事,但是我发现,在我的脑海里,“向前走一个字”必然会“向左无名指向上移动”,而不是“问打字处在哪里” w'然后按下它,“这使得这个方法对我来说更容易。

  • 什么Vim命令可以用来引用/不引用单词?
  • 在Vim的插入模式下,注释(#)到行首
  • 用ruby支持安装vim(+ ruby​​)
  • 为什么selectcscope或ctags?
  • VIM在文件结束时禁用自动换行
  • 有没有什么办法突出(g)Vim中的多个search?
  • Vim split line命令
  • VIM:禁用光标/箭头键,但仅用于导航
  • closures除了活动的标签之外的所有标签?
  • Vim拉出行,然后粘贴它内联
  • 在VIM中打开一个缓冲区作为垂直分割