VimTutor在第一课中说:
注意:光标键也应该有效。但是使用hjkl你会的 能够 一旦你习惯了它,移动得更快。真!
然而,我发现他们之间没有任何区别。使用hjkl v / s箭头键真的有区别吗?
答案 0 :(得分:8)
您不必将手从触摸式位置移动到使用hjkl,而如果使用箭头键则可以。
答案 1 :(得分:5)
问题是你开始使用“hjkl”键作为移动光标的更好方法,但事实是它们实际上是motions
。
h
一个角色留下的动作j
动作一行k
动作一行l
动作一个角色例如,使用删除操作符d
:dl
删除当前字符,dh
删除前一个字符,dj
删除当前行和下面的一行它,dk
删除当前行及其上方的一行。对于y
,c
,V
,gU
和任何运算符,情况都是如此。
另一个例子是拆分窗口。您可以使用 Control-w + s 和 Control-w + v 创建几个窗口,然后使用你可靠的hjkl在你的窗户之间移动, Control-w + h 向左移动一个窗口, Control-w + j < / kbd>向下移动一个窗口,等等。
因此,它们不仅仅是对箭头键的改进。随着您对Vim的理解不断增长,您将了解到hjkl键可以通过多种方式与其他命令结合使用,您会很高兴可以使用它们。
答案 2 :(得分:1)
事实上,当你必须到达箭头键时,使用h j k l
键可以避免键盘上的大量右手移动,但是,有更有效的方法可以使用文本文件进行导航VIM:
f <char>
:转到当前行的下一个字符<char>
。光标位于角色上方; t <char>
:转到当前行的下一个字符<char>
。光标位于角色之前; T
和F
:向后搜索此行中的字符,但是T
会将光标放在字符后面(或者如果你向后思考,可以在之前;))和{ {1}}会把它放在上面。F
:转到下一个与行无关的字符。执行此操作一次后,按/ <char> <Enter>
或n
将转到下一个和上一个匹配项。N
:转到下一个与行无关的字符,向后移动。 ? <char> <Enter>
将搜索下一个匹配项(向后),n
将转到上一个匹配项。 N
和{
:浏览段落。段落基本上是用空行划分的块。有关详细信息,请参阅}
。:help paragraph
和(
:在句子()
)上前后导航。句子是由:help sentence
或words
结尾的. !
组,后跟空格,制表符或结尾。?
:下一个e
,将光标放在word
word
:下一个w
,将光标放在word
word
:返回1 b
,将光标放在word
word
:返回1 ge
,将光标放在word
word
和E W B
:与gE
相同,但与e w b ge
相同。有关详细信息,请参阅WORD
。如果您想首先获得使用:help word
或其他动作的第一个好习惯并避开箭头键,请在您家中的.vimrc文件中添加以下行以禁用它们:
h j k l