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'
- 下一个窗口
<C-w> <C-w>
-还要-'N' - 交换窗口
<C-w> <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中使用它。我只是使用默认的。