Vim hjkl和箭头键之间有什么区别吗?

Vim hjkl和箭头键之间有什么区别吗?,vim,Vim,除了所需的位置和手部动作外,使用hjkl和箭头键之间有什么区别吗?我是否可以互换使用其中任何一个,并期待相同的行为?我能想到的唯一区别是箭头键在插入模式下工作,因此如果需要移动1-2个字符,可以保存笔划 注意:我使用了另一种键盘布局,hjkl键混淆了。我的键盘上有一个可编程层,不知道它应该有hjkl还是箭头键。我更喜欢使用箭头键,因为它们可以在所有程序中使用。箭头键与h、j、k、l 你的评估是正确的。它们是等效的,只是箭头键也在插入模式下工作 (在其他几个地方也是如此,例如,您可以使用左/右箭头

除了所需的位置和手部动作外,使用hjkl和箭头键之间有什么区别吗?我是否可以互换使用其中任何一个,并期待相同的行为?我能想到的唯一区别是箭头键在插入模式下工作,因此如果需要移动1-2个字符,可以保存笔划

注意:我使用了另一种键盘布局,hjkl键混淆了。我的键盘上有一个可编程层,不知道它应该有hjkl还是箭头键。我更喜欢使用箭头键,因为它们可以在所有程序中使用。

箭头键与h、j、k、l 你的评估是正确的。它们是等效的,只是箭头键也在插入模式下工作

(在其他几个地方也是如此,例如,您可以使用左/右箭头在命令中移动,或使用正在键入的搜索/替换,但在这些情况下,您不能使用hjkl进行移动。)

我想还有另一个区别——因为它们是独立的键,所以可以映射到不同的东西。因此,如果重新映射
h
,则不会影响
的功能,反之亦然

其他键 您在评论中询问了其他一些关键点

X-Bkspc,X-Delete,0-Home,$-End,R-Insert

有些是等效的,但不是所有这些

x、 x,退格,删除
x
是等效的,甚至在帮助文本中共享完全相同的节点。它们都删除光标下和光标后的字符

X
都删除光标左侧的字符。但在不同的模式下:
X
在正常模式下执行此操作,
在插入模式下执行此操作。如果处于正常模式,
只返回一个字符而不更改文本(因此其行为类似于
h

0,$,主页,结束 这些是可互换的

R、 插入 这些不做同样的事情<代码>的工作原理类似于
i
,并插入
R
进入插入模式,但会以一种特殊的方式覆盖字符,而不是在字符之前插入。

箭头键与h、j、k、l 你的评估是正确的。它们是等效的,只是箭头键也在插入模式下工作

(在其他几个地方也是如此,例如,您可以使用左/右箭头在命令中移动,或使用正在键入的搜索/替换,但在这些情况下,您不能使用hjkl进行移动。)

我想还有另一个区别——因为它们是独立的键,所以可以映射到不同的东西。因此,如果重新映射
h
,则不会影响
的功能,反之亦然

其他键 您在评论中询问了其他一些关键点

X-Bkspc,X-Delete,0-Home,$-End,R-Insert

有些是等效的,但不是所有这些

x、 x,退格,删除
x
是等效的,甚至在帮助文本中共享完全相同的节点。它们都删除光标下和光标后的字符

X
都删除光标左侧的字符。但在不同的模式下:
X
在正常模式下执行此操作,
在插入模式下执行此操作。如果处于正常模式,
只返回一个字符而不更改文本(因此其行为类似于
h

0,$,主页,结束 这些是可互换的

R、 插入
这些不做同样的事情<代码>的工作原理类似于
i
,并插入
R
进入插入模式,但以一种特殊的方式覆盖字符,而不是在字符之前插入。

这是否也适用于任何其他命令(如X-Bkspc、X-Delete、0-Home、$-End、R-insert)?我想知道这些密钥对是否具有相同的行为。在相同的情况下,我似乎可以互换使用它们。@BenBurk我扩展了关于其中一些额外字符的答案。你可以在vim的帮助系统中找到很多关于这个东西的信息,这是非常扩展的,例如
:help x
:help
这是否也适用于任何其他命令(比如x-Bkspc,x-Delete,0-Home,$-End,R-Insert)?我想知道这些键对是否有相同的行为。在相同的情况下,我似乎可以互换使用它们。@BenBurk我扩展了关于其中一些额外字符的答案。你可以在vim的帮助系统中找到很多关于这方面的信息,该系统非常扩展,例如
:help x
:help