我知道如何在命令模式下移动,特别是跳转到行等等。但是,跳到我当前所在行的末尾的命令是什么呢?
当前回答
我习惯了Home/End让我在插入模式下到达行开始和行结束(来自Windows和Linux的使用),Mac不支持。这特别烦人,因为当我在远程系统上使用vim时,我也不能轻易地做到这一点。经过一些痛苦的尝试和错误之后,我想出了这些.vimrc行,它们做同样的事情,但是绑定到Ctrl-A作为行开始,Ctrl-D作为行结束。(出于某种原因,我猜Ctrl-E是保留的,或者至少我不知道如何绑定它。)享受。
:imap <Char-1> <Char-15>:normal 0<Char-13>
:imap <Char-4> <Char-15>:normal $<Char-13>
这里有一个很好的ASCII控制字符代码的图表,这里也有其他的:
http://www.physics.udel.edu/~watson/scen103/ascii.html
你也可以用Ctrl- v + Ctrl-,但这不能很好地粘贴到像这样的地方。
其他回答
最简单的选择是输入$。如果您正在处理文本块,您可能会喜欢使用命令{和},以便分别向前和向后移动一个段落。
我习惯了Home/End让我在插入模式下到达行开始和行结束(来自Windows和Linux的使用),Mac不支持。这特别烦人,因为当我在远程系统上使用vim时,我也不能轻易地做到这一点。经过一些痛苦的尝试和错误之后,我想出了这些.vimrc行,它们做同样的事情,但是绑定到Ctrl-A作为行开始,Ctrl-D作为行结束。(出于某种原因,我猜Ctrl-E是保留的,或者至少我不知道如何绑定它。)享受。
:imap <Char-1> <Char-15>:normal 0<Char-13>
:imap <Char-4> <Char-15>:normal $<Char-13>
这里有一个很好的ASCII控制字符代码的图表,这里也有其他的:
http://www.physics.udel.edu/~watson/scen103/ascii.html
你也可以用Ctrl- v + Ctrl-,但这不能很好地粘贴到像这样的地方。
正如很多人所说:
$将使您到达队列的最后
但也:
^或_指向行中第一个非空格字符,和 0(0)到行开头,包括空格
“结束”键的优点是它可以在正常模式和插入模式下工作。
'$'只能在普通/命令模式下工作,但它也可以在经典的vi编辑器中工作(知道vim不可用是件好事)。
主要的问题是,结束了
$转到行尾,保持在命令模式
A走到行尾,切换到插入模式
相反,行开始(技术上是第一个非空白字符)
^转到行首,保持在命令模式
I(大写I)转到行首,切换到插入模式
Further -行开始(技术上是第一列,不考虑空格)
0(0)转到行首,保持在命令模式
0i(0后面跟着小写i)作为行开始,切换到插入模式
对于那些开始学习vi的人来说,这里是一个很好的vi介绍,并排列出了典型的Windows GUI编辑器的光标移动和快捷键的vi命令。
Windows用户使用vi编辑器
推荐文章
- 我如何使用vimdiff来解决git合并冲突?
- 将GNU屏幕滚动缓冲区复制到一个文件(扩展硬拷贝)
- 在Vim中删除当前缓冲区的文件名/路径
- Git在终端提交时打开VIM,但无法返回终端
- 请参阅编辑器中的换行符和回车
- 如何在NERDTree中显示隐藏文件(以句点开始)?
- 如何复制一个选择到OS X剪贴板
- 如何删除(不削减)在Vim?
- Vim:在可视模式下快速选择文本块的方法
- 是否有vim命令来重新定位一个选项卡?
- MacVim和普通Vim有什么区别?
- 如何使Sublime Text成为Git的默认编辑器?
- 有什么方法可以在Vim中查看当前映射的键吗?
- 同一行上有多个命令
- 如何将所有文本转换为小写在Vim