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

Suk*_*tto 108 keyboard vim ergonomics touch-typing typing

长期使用vim的用户,您是将手指放在正常模式jkl;还是hjkl处于正常模式?

标准触摸打字告诉我们右手的原位,食指上有食指j,所以你的手指都在jkl;.

但标准的vim运动键是hjkl.

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

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


注意:

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

alt*_*ive 109

我认为这jkl;实际上是对vi更合适的用法.首先,hl真的不管那么多了.w,, eb对水平导航更有用.作为奖励,;如果语言需要,很容易获得.有一个较弱的手指在k疼痛,你不需要你最强的手指h,当它应该在j这可能是四个中最常用的.

  • 天哪,我开始钻研的这个兔子洞到底是什么…… (5认同)

Buk*_*kov 15

介绍

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

我的推荐:"向下 - 左 - 右"

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

然后,为了避免覆盖基本的Vim功能:抛弃过去的任何东西; 到现在空的h按钮

作为一个可爱的奖金," l "键现在代表" ";)

noremap lh
noremap; l
noremap h;



以前的"亚军",他们都使用"左下右"布局:


选择1:"hjkl"

@ alternative的推荐.Keybinds保持默认(hjkl),右手停留在主行(jkl;)

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


选择2:"jkl;"

将这4个绑定超过1,使它们位于主行:

noremap; l
noremap lk
noremap kj
noremap jh

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


Jas*_*own 11

我按照正常的触摸打字方式将手放在主排上.我很少使用h键进行移动,因为向左移动一个空格通常不是一种有效的移动方式(并且不适合Vim的本质).


mlo*_*kot 5

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

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

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

检查这对VIM重新映射hjkljkl;


vex*_*exe 5

虽然我理解 Vim 的理念,即在主排中提供所有运动,但我发现这hjkl是违反直觉的。我认为一个更理智的地图将是一个类似 wasd 的设置ijkl

    nnoremap j h
    nnoremap k j
    nnoremap i k
Run Code Online (Sandbox Code Playgroud)

我发现这非常容易自然地导航。

j:left
i:up
k:down
l:right
Run Code Online (Sandbox Code Playgroud)

对于切换进入/退出插入/正常模式,我个人使用Alt-e,因为我几乎总是使用 Gvim,而不必担心某些终端存在 Alt 问题。

    nnoremap <A-e> i
    inoremap <A-e> <esc>l
Run Code Online (Sandbox Code Playgroud)

  • 这听起来很像 emacs! (3认同)