虽然之前我玩过它,但我终于开始定期使用Dvorak (Simplified)了。我已经和Vim保持了几年的稳定关系,而且我正试图找出重新映射键绑定的最佳方法,以适应我新发现的Dvorak技能。
你如何将Vim的键绑定重新映射到与Dvorak的最佳合作?
鼓励解释!
答案 0 :(得分:32)
我使用了common recommended keybindings之一:
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>
-also-'N'<C-w><C-r>
-also-'D'- 亚当
答案 1 :(得分:20)
我没有发现我需要重新映射Dvorak的密钥 - 当我切换布局时,我很快就习惯了使用默认的键绑定。
作为奖励,这意味着当我在Dvorak和Qwerty之间切换时,我不必记住两种不同的组合键。键盘布局的差异足以让我不希望键位于同一位置。
答案 2 :(得分:9)
我只使用标准qwerty命令和dvorak用于插入模式
答案 3 :(得分:9)
有点晚了,但我使用以下内容:
" 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 _ ^
这基本上可以做到以下几点:
这似乎对我有用......
答案 4 :(得分: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
注意:
含义:
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)
B.T.W。 L本身到最后一行,N是最后一个字母。 (感谢tenzu指出这一点。)
P.S。我已经使用了一些这些重新绑定。现在我不在vim中使用它。我只使用默认的。
答案 5 :(得分:2)
Vim附带了一个广泛的Dvorak脚本,但不幸的是它不能直接source
- 因为该文件包含几行指令和另一个撤消其效果的脚本。要阅读它,请发出以下命令:
:e $VIMRUNTIME/macros/dvorak
答案 6 :(得分:1)
您可以将其用于have Vim use Dvorak only in insert mode:
:set keymap=dvorak
这样所有命令仍然在QWERTY中,但您键入的所有内容都将在Dvorak中。
警告:好吧,几乎所有事情。插入模式,搜索模式和替换模式都将是dvorak,但ex命令不会。这意味着您不必重新学习:wq
,但在QWERTY中需要输入:%s/foo/bar/gc
。
如果您只想移动某些命令,这将无济于事,但我发现在我的脑海中,“向前移动一个单词”必然会“向左移动无名指”,而不是“询问打字部门在哪里字母'w'然后按下它,“这使我的方法更容易。