当我使用vi时(我认为默认情况下会在Slackware 13.37上调用elvis)我可以按预期插入文本但是当我使用ESC x
编辑拼写错误时光标移动键l
以及$
将光标放在最后一个字母上,而不是超出它,因此强迫我在最后一个字母的左边插入任何新文本,基本上强制输入拼写错误,除非我一直删回到空格。实际的箭头键通常会让我超越最后一个字母,但并非总是如此。
为了帮助解释我在做什么:
This is text with a tttypog
我用ESC x
This is text with a typog
但是ESC l
或ESC $
只允许我将光标移动到g,从而迫使我只在g的左侧插入任何新文本
This is text with a typoraphicalg
我做错了吗?
答案 0 :(得分:4)
编辑:用“普通模式”替换“命令模式” - @Jim Steward:感谢您指出错误
简短回答:如果您处于正常模式并希望在字符后按a
插入文字。按A
直接跳到行尾,并在最后一个字符后插入字符。在vi,afaik中,无法将光标放在当前行中最后一个字符后的列上(如果处于正常模式)。但是在vim中有一个名为virtualedit的选项,它可以让你这样做(参见:help virtualedit)。
答案 1 :(得分:1)
vi有两种模式,编辑模式(默认)和插入模式。命令“i”(不带引号)将您带到插入模式,ESC将您带回编辑模式。没有必要在每个命令之前按ESC,虽然按ESC是一种无害的方法,如果你忘记了最后一个模式,确保你处于编辑模式。
“A”命令(不带引号)用于在行尾添加文本。