Vim用户,你在哪里休息你的右手?

时间:2011-07-14 19:00:46

标签: vim keyboard typing ergonomics touch-typing

长期使用vim的用户,您是否正常处于jkl;hjkl正常模式?

标准触摸打字告诉我们右手的原始位置有食指放在j键上,因此您的手指在jkl;上。

但标准的vim动作键是hjkl

我在10多年后回到vim (omg,当我没有注意时我老了)并发现自己倾向于hjkl ......但是那个这使得输入右上角字母,大括号等变得更加困难。我想训练自己现在使用最有效/实用的方法,而不是以后重新训练。

长期,铁杆的vim用户,最佳做法是什么?


注意:

  1. How do touch typists navigate in vi?
  2. 重叠较多
  3. 我认为这通过了“主观”测试,因为它是故意培养无意识的最佳实践,而不仅仅是关于人们的偏好

5 个答案:

答案 0 :(得分:105)

我认为jkl;实际上更适合vi。首先,hl实际上并不重要。 web对水平导航非常有用。作为奖励,如果语言需要,;很容易获得。在k上手指较弱会伤害,而h上的手指最强,它应该位于j上,这可能是四个中最常用的手指。

答案 1 :(得分:15)

简介

之前的两种解决方案都没有100%令人满意。我提出了第三种方式,它结合了两个世界的优点

我的推荐:“向下 - 左 - 右”

保持上/下所在的位置,然后制作第3个&第四根手指&的

然后,为避免覆盖基本Vim功能:将; 上的任何内容抛到现在为空的 h 按钮

作为一个可爱的奖励,“ l ”键现在代表“”;)

  

noremap l h
      noremap;升
      noremap h;


<小时/> 以前的“亚军”,他们都使用“左下右”布局


选择1:“hjkl”

@ alternative's recommendation。 Keybinds保持默认( hjkl ),右手保留在主行( jkl;

  • 优点:
    • j(向下) k(向上)留在您的主要2指上,他们应该得到
  • 缺点:
    • 你必须达到 h(左)。即使这不像 w,e,b 那样使用,它仍然是一个血腥的箭头按钮,在主页上行会很好
    • 基本上:所有4个手指都不会自然地停留在箭头按钮上。这让我感到困惑


选择2:“jkl;”

Slide those 4 binds超过1,所以他们坐在主页上:

  

noremap;升
      noremap l k
      noremap k j
      noremap j h

  • 优点:
    • 没有手指混乱;所有箭头都在手指下自然
  • 缺点:
    • 正如@alternative所说,上/下在第二和第三根手指上非常“非最佳”
    • 同样,最强的手指在上也是一种浪费

答案 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 hjkljkl;

上查看此内容

答案 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