Vim用户,您将右手放在哪里?[关闭]


116

长期使用vim的用户,您是保持手指手指触摸jkl;还是hjkl处于正常模式?

标准触摸打字可以告诉我们,右手的原始位置的食指在j键上,因此您的手指处于打开状态jkl;

但是标准的vim运动键是hjkl

10多年后,我又回到了vim (天哪,我不专心的时候就变老了),发现自己偏向于hjkl...但是这使得键入右上角的字母,花括号等变得更加困难。我想训练自己现在使用最有效/务实的方法,而不必稍后再进行训练。

长期使用vim的核心用户,最佳做法是什么?


注意:

  1. 与重叠式打字员如何在vi中导航?
  2. 我认为这通过了“主观”测试,因为它是在故意培养一种无意识的最佳实践,而不仅仅是关于人们的偏好。

26
这怎么不是一个真正的问题?他问你应该在哪里保持手指。那完全是负责任的。
可替代

在这种情况下,“最佳做法”是主观的。人们是不同的,他们会把手放在对他们舒适的地方。
兰迪·莫里斯

1
我开始遇到同样的问题,jklç(pt键盘)最好用于在计算机键盘上打字的最佳实践。感觉很自然。我不想让vim使我无法学习花费大量的学习和练习的正确打字方式。
ancm

1
@RandyMorris当然人们是不同的,他们应该为自己做最适合自己的事情,但这并不意味着在大多数情况下某些习惯会更好,因此想到普通触摸式键入的Home键。因此,我不赞成这种说法无法回答,因为它是主观的,如果确实如此,那应该是信息的答案,以证明为什么没有明确的最佳实践。
jonvw

Answers:


118

我认为jkl;实际上这是更适合vi的用法。首先,hl真的不管那么多了。w,,eb,对于水平导航来说非常有用。另外;,如果语言需要,则很容易获得。用较弱的手指来表示k伤害,并且不需要用最强的手指来表示h,这应该是j这四个中使用最多的一种。


真是的 我是vim用户已有几年了,我一直在使用hjkl作为箭头。即使我知道您建议的方式更有效,但我仍然怀疑我是否有足够的勇气转向这种方式。
Mikhail Kalashnikov

2
哦,天哪,我已经开始打这个兔子洞了吗
Jason Kelley

16

介绍

先前的2个解决方案都没有100%令人满意。我提出了第三种方法,将两种方法的优点结合在一起

我的推荐:“ down-up-left-right”

保持向上/向下他们在哪里,然后进行第3和第4个手指向左向右

然后,为了避免覆盖基Vim的特点:抛任何以前是在; 到现在空的h按钮

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

noremap lh
noremap; l
noremap h;



先前的“跑步者”,他们都使用“ left-down-up-right”布局


选择1:“ hjkl”

@alternative的推荐。键盘绑定保持默认(hjkl),右手停留在主行(jkl;

  • 优点:
    • j(向下)k(向上)停留在您的主要两个手指上
  • 缺点:
    • 您必须达到h(左)。即使它不像w,e,b那样使用,它仍然是一个流血的箭头按钮,并且在主行上也很好
    • 基本上:所有四个手指都不自然地停留在箭头按钮上。这使我的手感到困惑


选择2:“ jkl;”

将这4个装订滑过1个,使其位于主行上:

noremap; l
noremap lk
noremap kj
noremap jh

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

1
谢谢。根据您的建议,到目前为止,唯一无效的是使用分割之间进行切换Ctrl + W + <direction>
拉法尔Cieślak

11

我以通常的触笔方式将手放在主行上。我很少使用h键进行移动,因为向左移动一个空格通常不是一种有效的移动方式(并且实际上不符合Vim的本质)。


6

我了解,这hjkl是出于历史原因使用的(例如,这就是vim使用hjkl键作为箭头键的原因),它不是基于任何人体工程学原理。

我个人更喜欢遵循i3窗口管理器推荐的方法,正如FAQ中有关默认配置为何使用jkl的常见问题中所述;而不是hjkl?是符合人体工程学的选择。

i3 jkl;之所以使用,是因为这些键构成了触摸打字时右手下方的“主页行”。

检查这对VIM重新映射hjkljkl;


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

2
这听起来像是emacs!
rlms 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.