观察Vim实例中的一行:
现在我点击$:
为什么我的光标不会一直走到尽头?一旦我尝试插入,文本就会在之前插入最后一个字符!即使我仍然在正常模式下再次向右移动,我也会收到铃声。奇怪的是,当处于编辑模式时,我可以使用右箭头键移动到实际的行尾!
有谁知道为什么Vim会这样做?顺便说一下7.3。谢谢你的帮助。
答案 0 :(得分:24)
在命令模式下按 $ 会使光标移动到行尾,有效地突出显示最后一个字符。点击 i 此处插入最后一个字符前,或 a 追加到该行。这里有点模棱两可,因为您使用管道字符作为游标而不是矩形块游标。如果你想改变它,请看看“:help termcap-cursor-shape”。
如果目标是追加到行的末尾, A 将跳转到行尾并使用单个按键进入插入模式。
答案 1 :(得分:9)
使用 a 在当前后附加一个字符。
或者,要转到该行的末尾并按步骤追加,请使用大写A
。即移 A
类似地 shift - I 插入行的开头,而不必先按 ^ 。
答案 2 :(得分:4)
光标不能在两个字符之间,它总是在一个字符上。
如果按$
然后按x
,则会正确删除当前行的最后一个可打印字符。
您所观察到的是,使用i
时,您总是在所选字符之前插入文本。如果您想在所选字符后插入,则必须使用a
或更好A
,因为它已经被提及。
换句话说:
i
表示“在光标下插入字符之前”
a
表示“在光标下插入字符后”。
a
的助记符:a for“append”。
答案 3 :(得分:1)
按 $ 后,光标 一直定位在最后。它不能超越最后一个字符,因为它意味着在行中添加一个新字符。