我知道如何在命令模式下移动,特别是跳转到行等等。但是,跳到我当前所在行的末尾的命令是什么呢?
当前回答
还要注意线条(或者物理线条)和屏幕线条之间的区别。一行以行结束符("\n")结束。屏幕行是在终端或屏幕上显示为一行字符的任何东西。如果你的物理行比屏幕宽度长,这两者就会分开,这种情况在写电子邮件等时很常见。
这种区别也体现在行尾命令中。
$和0分别移动到物理行或段的末尾或开头: G $和g0分别移动到屏幕行或段落的末尾或开头。
如果你总是喜欢后一种行为,你可以像这样重新映射键:
:noremap 0 g0
:noremap $ g$
其他回答
主要的问题是,结束了
$转到行尾,保持在命令模式
A走到行尾,切换到插入模式
相反,行开始(技术上是第一个非空白字符)
^转到行首,保持在命令模式
I(大写I)转到行首,切换到插入模式
Further -行开始(技术上是第一列,不考虑空格)
0(0)转到行首,保持在命令模式
0i(0后面跟着小写i)作为行开始,切换到插入模式
对于那些开始学习vi的人来说,这里是一个很好的vi介绍,并排列出了典型的Windows GUI编辑器的光标移动和快捷键的vi命令。
Windows用户使用vi编辑器
$移动到行上的最后一个字符。 g_指向最后一个非空格字符。 G $转到屏幕行的末尾(当一个缓冲行被跨多个屏幕行换行时)
还要注意线条(或者物理线条)和屏幕线条之间的区别。一行以行结束符("\n")结束。屏幕行是在终端或屏幕上显示为一行字符的任何东西。如果你的物理行比屏幕宽度长,这两者就会分开,这种情况在写电子邮件等时很常见。
这种区别也体现在行尾命令中。
$和0分别移动到物理行或段的末尾或开头: G $和g0分别移动到屏幕行或段落的末尾或开头。
如果你总是喜欢后一种行为,你可以像这样重新映射键:
:noremap 0 g0
:noremap $ g$
只有$(美元符号)键。您可以使用A移动到行尾并切换到编辑模式(追加)。要跳过最后一个非空白字符,可以按g键然后按_键。
A的反面是I(在行开始处插入模式),作为旁白。只按^将把光标放在该行的第一个非空白字符上。
按A进入编辑模式,从行尾开始。
推荐文章
- 你常用的Xcode快捷键有哪些?
- 是否有Eclipse行宽标记?
- 在Vim/Vi中,如何将光标移动到前一个单词的末尾?
- 如何在vim中自动删除尾随空格
- 在Eclipse中更改字符串的大小写
- 为什么Vim使用~扩展名保存文件?
- Visual Studio展开/折叠键盘快捷键
- 如何在Vim或Linux中将空格转换为制表符?
- 如何在编辑器(Atom, notepad++, Kate, VIM, Sublime, Textpad等)和ide (NetBeans, IntelliJ IDEA, Eclipse, Visual Studio等)中选择列
- 使用Emacs递归地查找和替换尚未打开的文本文件
- 我如何使用vimdiff来解决git合并冲突?
- 将GNU屏幕滚动缓冲区复制到一个文件(扩展硬拷贝)
- 在Vim中删除当前缓冲区的文件名/路径
- Git在终端提交时打开VIM,但无法返回终端
- 请参阅编辑器中的换行符和回车