为什么h,j,k,l建议使用箭头键为vim?

问题描述 投票:6回答:6

我是一个vim用户(不是一个非高级的初学者)。我用箭头键。 我一再读到,强烈建议使用h,j,k,l键来提高工作效率。 我试图使用它们,但我看不出它们如何帮助提高效率。

因为如果我要使用h,j,k,l键向上/向下/向右/向左移动,我需要先按ESC退出插入模式。 但那失败的目的不是吗?因为最初的想法是你不需要移开手指。 如果我要按ESC,我也可以使用箭头键并保存按键。 也许我在这里做错了什么?

vim text-editor
6个回答
4
投票

像ADM-3A终端这样的旧终端键盘没有箭头键。键盘布局看起来像这样,它已经有了hjkl的箭头。 (顺便说一下,还要注意〜和Home键之间的关系)

我认为这主要是出于历史原因,vim仍然使用它(许多人已经习惯了)。也许是因为很多系统管理员对70/80年代的东西怀旧,并且因为他们可以吹嘘他们如何更快地打字(比如输入是慢编码的原因......)。


2
投票

vi / Vim的显着特点是它基于模式。这意味着:

  1. 您只能在插入模式下进行短时间的打字
  2. 在其他模式(主要是普通模式)中,您可以使用所有键[组合]进行强大的编辑命令(在Vim中非常规则,并且可以组合起来以获得很好的效果)

因此,您可以轻松切换模式至关重要。对于许多用户来说,这意味着将Esc键重新映射到更方便的位置(替换Caps Lock或Ctrl)。然后,使用HJKL进行导航(注意那些只是基础知识,并且通常更好地使用更具体的动作,如wf{char})更快,因为你的手指可以留在主行(假设你是一个触摸打字员,你应该投资,如果你花了相当多的时间在电脑上)。光标键位置太远,切换需要花费太多时间(使用鼠标更糟),并且对手腕也不好。


2
投票

箭头的问题并不是它们太过分了:问题是它们只允许你逐个字符地逐行移动。你猜怎么着?这正是hjkl所做的。 hjkl对箭头的唯一好处是它可以避免手臂轻微移动到箭头和从箭头移动。您是否认为这样的好处是值得的。在我看来,事实并非如此。

hjkl只略微优于箭头,而Vim更高级的运动,bBeEwWfFtT,;/?^$等,提供了超过箭头和hjkl的巨大优势。

FWIW,我使用箭头进行正常和插入模式下的小动作,以及上面用于较大动作的高级动作。

mouse-using sucker everyone laughs at:  (move)↓↓↓↓↓↓↓↓↓↓→→→→→(move)
hjkl-obsessed hipster:                        jjjjjjjjjjlllll
efficient vimmer:                             /fo<CR>

1
投票

h,j,k和l在主行上。如果您移动手以使用箭头键,则必须在完成箭头键后重新调整。这只是触摸打字员的问题(当天所有人都回来了)。


0
投票

如果您喜欢使用箭头键,请务必使用它们。我在hjkl上看到了一个优点:箭头键在插入模式下工作。其他人更喜欢最低限度地移动他们的手指。如果你是一个触摸打字员并且需要输入大量文本,这是一个很好的论据。至少对我来说,我的想法总是慢于我的编辑,因此打字速度和最小的手指移动对我来说并不是一个问题。

最后,这是一个非常主观的问题。使用对你有用的东西,但试着环顾四周,不时扩展你的视野。


0
投票

h j k l是更强大功能的垫脚石。你是否真的认为左,右,上,下与在21世纪(或1976年)移动光标一样先进?

© www.soinside.com 2019 - 2024. All rights reserved.