0

当我使用 vi(我认为在 Slackware 13.37 上默认调用 elvis)时,我可以按预期插入文本,但是当我使用ESC x光标移动键编辑错别字l并将$光标放在最后一个字母上而不是超出时因此,它迫使我在最后一个字母的左侧插入任何新文本,除非我一直删除到空格,否则基本上会导致拼写错误。实际的箭头键通常允许我超出最后一个字母,但并非总是如此。

为了帮助解释我在做什么:

This is text with a tttypog

我用ESC x

This is text with a typog

但是ESC lESC $只允许我将光标移动到 g 从而迫使我仅在 g 的左侧插入任何新文本

This is text with a typoraphicalg

难道我做错了什么?

4

2 回答 2

5

编辑:将“命令模式”替换为“正常模式”-@Jim Steward:感谢您指出不正确

简短回答:如果您处于正常模式并想在按字符后插入文本a。按A可直接跳到行尾并在最后一个字符之后插入字符。在 vi,afaik 中,不能将光标放在当前行中最后一个字符之后的列上(如果您处于正常模式)。然而,在 vim 中有一个名为 virtualedit 的选项,它可以让你这样做(参见 :help virtualedit)。

于 2012-12-01T15:02:35.170 回答
1

vi 中有两种模式,编辑模式(默认)和插入模式。命令“i”(不带引号)带您进入插入模式,ESC 带您回到编辑模式。不必在每个命令之前按 ESC,尽管按 ESC 是一种无害的方法,可以确保您在忘记上次进入的模式时处于编辑模式。

“A”命令(不带引号)用于在行尾附加文本。

于 2012-12-02T11:17:46.403 回答