只是$ (美元符号)键。您可以使用A移至行尾并切换到编辑模式(附加)。要跳过最后一个非空白字符,可以先按g再按_键。
顺便说一句, A的反面是I (在行首插入模式)。仅按^会将光标置于行的开头。
正如许多人所说:
但是也:
g _转到最后一个非空白字符。
g $移至屏幕行的末尾(当缓冲行包裹在多条屏幕行上时)
主要问题 - 行尾
$移至行尾,保持命令模式
A转到行尾,切换到插入模式
相反 - 行首(技术上是第一个非空白字符)
^移至行首,保持在命令模式
I (大写 i)转到行首,切换到插入模式
进一步 - 行的开始(技术上第一列,与空白无关 )
0 (零)转到行首,仍处于命令模式
0i (零后跟小写字母 i)开始行,切换到插入模式
对于开始学习 vi 的人来说,这是对 vi 的很好的介绍,它通过并排列出典型 Windows GUI 编辑器光标移动和快捷键的 vi 命令。
如果当前行环绕可见屏幕并转到下一行,则可以使用g $到达屏幕行的末尾。
美元符号:$
“结束” 键的优点是它可以在普通模式和插入模式下工作。
“$” 仅在正常 / 命令模式下工作,但在经典的 vi 编辑器中也工作(很高兴知道 vim 不可用时)。
在很多情况下,当我们在字符串中时,我们会用双引号将其括起来,或者在编写语句时,我们不想按 Escape 键并使用箭头键转到该行的末尾并按分号( ;
)只是为了结束这一行。在vimrc文件中写以下行:
imap <C-l> <Esc>$a
该行怎么说?它将 Ctrl + l 映射到一系列命令。等效于您同时按Esc (命令模式), $ (行尾)和a (附加)。
还要注意线 (或物理线)和屏幕线之间的区别。行以行尾字符(“\ n”)结尾。屏幕行是指在终端或屏幕上显示为一行字符的任何内容。如果您的物理线长于屏幕宽度,则两者会分开,这在编写电子邮件等时非常常见。
区别也显示在行尾命令中。
如果您总是喜欢后一种行为,则可以像这样重新映射键:
:noremap 0 g0
:noremap $ g$
从行尾开始按A进入编辑模式。