Vim导航的手动放置


12

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

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


6
绝对要用手指指着j,k,l,;。首先,您将立即学会击球h。其次,当您更好地了解vim时,您将不会真正使用h太多。第三,在定义键绑定时要牢记手的位置,因此从长远来看,您只需要将一个问题换成另一组问题即可。
PhilippFrank

3
不要打扰 Vim的光标运动命令比hjkl。请参阅:help navigation
romainl

Answers:


12

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

TL; DR Vim针对触摸打字员进行了优化,因此您的手应该放在学会放置的位置:左手放在asdf ,右手放在jkl;

尼尔(Neil)说,戴上右手hjkl确实是一件坏事。主要原因是,随着移动键将光标hjkl的东西,应该是很偶然的,因为VIM提供更快的字为单位的运动或字符搜索运动(wbft/...)。

我还将直接引用这一部分:

当我险些错过目标时,我会使用hl键进行一次性错误。除此之外,我几乎不碰它们。考虑到我很少使用h按键,我很高兴必须在Qwerty键盘上进行拉伸。另一方面,我经常使用字符搜索命令,因此我很高兴 钥匙舒适地放在我的小指下。

奖励:即使这似乎不是您的情况,这里还是一个技巧,摆脱了使用箭头键移动的初学者的坏习惯:只需在命令行中添加以下几行,.vimrc以完全禁用箭头键:

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

<Nop>代表“无操作”)


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

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

我回答了这个问题,因为我不久前读了这篇,我觉得它非常适合OP的需要。在手的位置的话题,法国我使用了AZERTY键盘,这样的问题并不实际存在的:我的左手是hjkl因为在右边的关键l就是m这是非常无用。关于使用这些键进行导航的优化,我试图强迫自己尽可能多地使用动作,但是我仍然经常使用hjkl,我仍然觉得它比箭头键要快,但是我想这是一个相当主观的话题。
statox

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