【问题标题】:Vim users, where do you rest your right hand? [closed]Vim 用户,你的右手放在哪里? [关闭]
【发布时间】:2011-07-14 19:00:45
【问题描述】:

vim 的老用户们,在普通模式下,您是否将手指放在jkl;hjkl 上?

标准触摸打字告诉我们右手的初始位置是在j 键上的食指,所以你的手指在jkl; 上。

但标准的 vim 动作键是 hjkl

我在 10 多年后重新回到 vim (天哪,当我不注意时我变老了) 发现自己被 hjkl 吸引...更难输入右上角的字母、大括号等。我想训练自己现在使用最有效/最实用的方法,而不是以后重新训练。

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


注意:

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

【问题讨论】:

  • 不是一个真正的问题?他问你应该把手指放在哪里。这是完全可以回答的。
  • 在这种情况下,“最佳实践”是主观的。人们是不同的,他们会把手放在他们觉得舒服的地方。
  • 我开始了,我遇到了同样的问题,jklç(pt 键盘)更适合在计算机键盘上打字的最佳实践。感觉很自然。我不想让 vim 让我忘记正确的打字方式,我花了很多时间学习和练习。
  • @RandyMorris 当然,人是不同的,他们应该做最适合他们的事情,但这并不意味着在大多数情况下某些做法更好,我会想到一般触摸打字的主页键.因此,我不相信无法回答的论点,因为它是主观的,如果确实如此,那么应该用信息来回答为什么没有明确的最佳实践。

标签: vim keyboard typing ergonomics touch-typing


【解决方案1】:

我认为jkl; 实际上是vi 更合适的用法。一方面,hl 真的没那么重要。 web 对于水平导航更有用。作为奖励,如果语言需要,; 很容易获得。在k 上使用较弱的手指会很痛,并且您不需要最强的手指在h 上,而应该在j 上,这可能是四个中最常用的。

【讨论】:

  • 哦,废话。我是 vim 用户已有几年了,我一直使用 hjkl 作为箭头。尽管我知道您建议的方法更有效,但我怀疑我是否有足够的勇气改用它。
  • 天哪,我开始往下钻的这个兔子洞是什么……
  • 添加到今年和多年的 Nethack !!!
  • 这太连贯了!,今天我在想这个,已经习惯了hjkl,是时候成为jkl i gess了
【解决方案2】:

简介

之前的 2 个解决方案都不是 100% 令人满意的。我提出了第三种方式,一种结合了两全其美的方式

我的建议:“down-up-left-right”

保持上/下原位,然后将第三和第四根手指向左向右

然后,为了避免覆盖基本的 Vim 功能:将以前在 ; 上的任何东西扔到现在空的 h 按钮

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

noremap l h
地图; l
noremap h ;



之前的“亚军”,均使用“左下上右”布局

选择 1:“hjkl”

@alternative 的 recommendation。键绑定保持默认 (hjkl),右手 保持在主行 (jkl;)

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


选择 2:“jkl;”

Slide those 4 binds 超过 1 所以他们坐在主排:

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

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

【讨论】:

  • 谢谢。至于您的建议,目前唯一不起作用的是使用Ctrl + W + <direction> 在拆分之间切换。
【解决方案3】:

我以正常的打字方式将手放在主排。我很少使用 h 键来移动,因为向左移动一个空格通常不是一种有效的移动方式(而且并不真正符合 Vim 的本质)。

【讨论】:

    【解决方案4】:

    我了解,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; 上检查这个

    【讨论】:

      【解决方案5】:

      虽然我理解 Vim 的理念,即在主行中提供所有运动,但我发现 hjkl 是反直觉的。我认为一张更理智的地图将是一个类似 wasd 的设置,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
      

      【讨论】:

      • 这听起来有点像 emacs!
      猜你喜欢
      • 2010-09-11
      • 1970-01-01
      • 2014-02-22
      • 2010-11-16
      • 2010-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-14
      相关资源
      最近更新 更多