2012-07-29 25 views
3

VIMTUTOR说,在其第一课:VIMTUTOR箭头键V/S hjkl

注:光标键也应该工作。但是使用hjkl,你将会在 能够 移动得更快,一旦你习惯了它。真!

但是,我发现它们之间没有任何区别。使用hjkl v/s箭头键真的有区别吗?

+6

当您使用hjkl时,您不必将右手从键盘上的正常位置移开。就我个人而言,我更喜欢[Neo 2.0键盘布局]的导航块(http://neo-layout.org) – knittl 2012-07-29 11:18:35

+0

除了“在主线上行动”之外,还有其他一些原因。例如,您不应该在插入模式下使用箭头。 hjkl会让您切换到正常模式进行移动。这是一个深入讨论的话题 - 如果您搜索,您肯定可以找到更详细的讨论! – 2012-07-30 13:48:30

回答

8

您不必将手从触摸类型的位置移动到使用hjkl,而使用箭头键则可以。

+0

完全没问题。 :) – 2012-07-29 11:36:22

+0

例如,当我超过“H”时,我实际上感到手上紧张,并且必须达到“L”,反之亦然。箭头是专门为此任务制作的,感觉使用起来更加舒适... – 2014-09-02 22:20:13

+0

重点在于,从触摸打字位置,这些按键就在那里 - h按食指正确,l在无名指下。 – 2014-09-04 01:54:19

5

事情是,你开始使用“hjkl”键作为移动光标的一种更好的方法,但事实是它们实际上是motions

  • h运动一个字符左
  • j运动下移一行
  • k运动一个排队
  • l运动一个字符右

因此,例如,用delete运算符ddl删除当前字符,dh删除前一个dj删除当前行及其下方的一行,dk删除当前行及其上方的行。当然对于y,c,V,gU和任何运营商也是如此。

另一个例子是拆分窗口。您可以通过创建几个窗口控制-W + 小号控制-W + v,然后使用您值得信赖的hjkl你的窗口之间来回移动,控制-W + ^h移动左边的一个窗口,Control-w + j移动窗口,等等。

因此,这不仅仅是对箭头键的改进。随着您对Vim的理解不断增长,您将会了解到hjkl键可以通过多种方式与其他命令结合使用,您将很高兴可以使用它们。

+0

+1。 :) – 2013-01-11 09:45:36

+3

但是,大多数(所有?)的功能也可以使用箭头键代替HJKL来完成。 – echristopherson 2013-01-13 06:20:18

1

实际上,使用h j k l按键是一种很好的做法,当您必须到达箭头键时,避免在键盘上进行大量右手动作,但使用vim可以更有效地浏览文本文件:

  • f <char>:转到当前行上字符<char>的下一次出现。游标放在角色的上方;
  • t <char>:转到当前行上字符<char>的下一次出现。游标放在角色的前面;
  • TF:在这一行后退你的字符搜索,但是T会将光标放在字符后面(或之前如果你想回来;)),并且F将把它放在它的上面。
  • / <char> <Enter>:转到独立于行的下一个字符。在您执行此操作后,请按nN进入下一个和上一个发生的操作。
  • ? <char> <Enter>:转到与行无关的字符的下一个出现处,向后。 n将搜索下一个出现(向后)并且N将会去往前一个。
  • {}:导航段落。段落基本上是由空行划分的块。进一步的细节见:help paragraph
  • ( and ):在句子(:help sentence)上前后导航。句子是由. !?结尾的一组words,后跟一个空格,制表符或结束符。
  • e:下word,将光标放置在word
  • w的末尾:下word,将光标放置在的word
  • b开始:背部1 word,将光标置于开始所述word
  • ge:靠背1 word,将光标置于的word
  • E W B和结束10:与e w b ge相同,但是与WORD相同。有关更多详细信息,请参阅:help word

如果你想通过得到使用h j k l运动或其他运动的第一个良好的生活习惯开始,并避免箭头键,pleace在你的.vimrc文件中以下行你的家将其禁用:

noremap <Up> <NOP> 
noremap <Down> <NOP> 
noremap <Left> <NOP> 
noremap <Right> <NOP>