长期使用vim的用户,您是否正常处于jkl;
或hjkl
正常模式?
标准触摸打字告诉我们右手的原始位置有食指放在j
键上,因此您的手指在jkl;
上。
但标准的vim动作键是hjkl
。
我在10多年后回到vim (omg,当我没有注意时我老了)并发现自己倾向于hjkl
......但是那个这使得输入右上角字母,大括号等变得更加困难。我想训练自己现在使用最有效/实用的方法,而不是以后重新训练。
长期,铁杆的vim用户,最佳做法是什么?
注意:
答案 0 :(得分:105)
我认为jkl;
实际上更适合vi。首先,h
和l
实际上并不重要。 w
,e
和b
对水平导航非常有用。作为奖励,如果语言需要,;
很容易获得。在k
上手指较弱会伤害,而h
上的手指最强,它应该位于j
上,这可能是四个中最常用的手指。
答案 1 :(得分:15)
之前的两种解决方案都没有100%令人满意。我提出了第三种方式,它结合了两个世界的优点
保持上/下所在的位置,然后制作第3个&第四根手指左&的右强>
然后,为避免覆盖基本Vim功能:将; 上的任何内容抛到现在为空的 h 按钮
作为一个可爱的奖励,“ l ”键现在代表“左”;)
noremap l h
noremap;升
noremap h;
@ alternative's recommendation。 Keybinds保持默认( hjkl ),右手保留在主行( jkl; )
Slide those 4 binds超过1,所以他们坐在主页上:
noremap;升
noremap l k
noremap k j
noremap j h
答案 2 :(得分:11)
我以正常的触摸打字方式将手放在主排上。我很少使用h键进行移动,因为向左移动一个空格通常不是一种有效的移动方式(并且不适合Vim的本质)。
答案 3 :(得分:5)
我理解,hjkl
用于历史原因(即Here is why vim uses the hjkl keys as arrow keys)并且不基于任何符合人体工程学的理由。
我个人更喜欢遵循i3 window manager建议的方法,正如Why does the default config use jkl; instead of hjkl?中的常见问题解答所述,这是一种符合人体工程学的选择。
i3使用
jkl;
,因为这些按键在触摸输入时构成右手下方的“主行”。
在vim remapping the hjkl至jkl;
答案 4 :(得分:4)
虽然我理解Vim在主页行中提供所有动作的理念,但我发现hjkl
反直觉。我认为更加理智的地图将是ijkl
nnoremap j h
nnoremap k j
nnoremap i k
我发现这很容易以非常自然的方式导航。
j:left
i:up
k:down
l:right
对于切入/退出插入/正常模式,我个人使用Alt-e
因为我几乎总是使用Gvim而不必担心某些终端有Alt问题。
nnoremap <A-e> i
inoremap <A-e> <esc>l