我是Vim的新用户,我想问这个基本问题,以确保我以正确的方式开始学习Vim,并且不会养成不良习惯。

使用Vim时,您如何定位右手?我发现用手指在jkl上开始更自然;键,但导航时有时会丢失h键。相反,如果我将手指放在hjkl上,那么我会发现自己的单词含糊不清,因为这不是我受过训练的将手放在键盘上的位置,而且我发现用中指和无名指切换jk键很尴尬。

评论

绝对将手指对准j,k,l,;。首先,您将很快学会击中h。其次,当您更好地了解vim时,您将不会真正使用太多。第三,键绑定的定义主要是考虑到手的位置,因此从长远来看,您只需要将一个问题换成另一组问题即可。

不要打扰Vim的光标移动命令比hjkl好得多。请参阅:help导航。

#1 楼

首先,我假设您使用的是QWERTY键盘。我的答案不是基于我的个人喜好,我只是重新构造了Drew Neil编写的实用Vim的一部分。

TL; DR Vim针对触摸打字员进行了优化,因此您的双手应该保持平稳您学会了将它们放在哪里的方法:左手放在asdf上,右手放在jkl上;

Neil说,将右手放在hjkl上确实是一件很糟糕的事情。主要原因是使用hjkl键移动光标是偶然的,因为vim提供了更快的逐字移动或字符搜索动作(wbft/ ...)。 >
我也直接引用这部分内容:


当我险些错过目标时,我会使用h和l键来解决不正确的错误。
除此之外,我几乎不碰它们。鉴于我很少使用h键,我很高兴必须在Qwerty键盘上进行拉伸。另一方面,我经常使用
字符搜索命令,因此,我很高兴
;奖金舒适地放在我的小指头下。


奖金:即使您的情况似乎并非如此,这里还是摆脱初学者使用箭头的不良习惯的提示要移动的键:只需在.vimrc中添加以下几行即可完全禁用箭头键:

noremap <Up>    <Nop>
noremap <Down>  <Nop>
noremap <Left>  <Nop>
noremap <Right> <Nop>


<Nop>表示“无操作”)

评论


“使用hjkl键,箭头键是邪恶的”-教条在Vi / Vim社区中是很强大的,但是在许多方面,它也是很愚蠢的。除了我完全不相信它在所有情况下(即使是这样)在所有情况下都更快之外,这真的是学习Vim最重要的事情吗?还是有其他事情可以为您节省更多时间(例如运动,处理标记,寄存器,VimScript基础知识等)。...整个“ hjkl”似乎充其量只是一个微优化。

–马丁·图尔诺伊(Martin Tournoij)
15年7月7日在8:06

我已经使用计算机大约30年了。每隔5年左右,我就会重新尝试学习键入“正确”。到目前为止,我每做一次头几天都会出现急性腕管综合症的症状。每当我放弃并回到我以前的习惯时,症状就消失了。我也从事武术已有40年了,从未遇到过任何共同的问题。我的习惯包括使用箭头键,并在打字时大量移动手。 hjkl的事情对我没有帮助。有用的是购买了优质的机械键盘。 FWIW。

–lcd047
15年7月7日在8:10

我回答了这个问题,因为我不久前读了这篇,我觉得它很适合OP的需要。关于手的放置,我所用的法语用户使用的是AZERTY键盘,因此实际上不存在此问题:我的左手在hjkl上,因为l右侧的键是m,这几乎没有用。关于使用这些键进行导航的优化,我试图强迫自己尽可能多地使用动作,但是我仍然经常使用hjkl,我仍然觉得它比箭头键要快,但是我想这是一个相当主观的话题。

–statox♦
2015年7月7日在10:33



我想通过说完全相反的经验来平衡@ lcd047的评论。几年来,我一直在接触打字的一半方法,一直回到旧习惯,直到我开始使用vim。对我来说,使用vim的好处之一是它的导航和命令系统带有简单的按键(例如jkl;),迫使您将手保持在良好的触摸输入位置以导航文本。结果,我现在是一个更快,更准确的打字员。

–安德烈亚斯(Andreas)
2015年10月7日,下午5:45