当前位置:  开发笔记 > 编程语言 > 正文

如何在Vim中移动到行尾?

如何解决《如何在Vim中移动到行尾?》经验,为你挑选了12个好方法。

我知道如何一般在命令模式中移动,特别是跳到线路等.但是跳到我目前所在线路末端的命令是什么?



1> dvorak..:

只是$ (美元符号)键.您可以使用A移动到行尾并切换到编辑模式(附加).

与此相反的AI(行开头的插入模式).


跳到最后一个非空白的`g_`
在可视模式下工作时,_g变体非常有用,因为它允许您在最后使用没有任何换行符的行.
有时候`g_`变体更有用,因为它不包含空白字符
Home和End键在普通键盘上工作,当你使用笔记本电脑时需要$和^ :)

2> Rob Wells..:

很多人都说:

$ 让你走到终点

但是也:

^或者_让你到达该行中的第一个非空白字符,并且

0(零)让你到行的开头,包括.空白


@kami:虽然描述不同,但它们看起来行为相同.但是管道`|`命令可以进行计数,例如3 | 跳到第三列.

3> Paul Ruane..:

$ moves to the last character on the line.

g _ goes to the last non-whitespace character.

g $ goes to the end of the screen line (when a buffer line is wrapped across multiple screen lines)


我使用```_```和```g_```来进行视觉/ yanking,因为```$```也会复制/删除新行(LN)字符.
@DaveAaronSmith:`b`到了上一个单词的开头,这根本不是一回事.它大致相当于`$ ge`.

4> ap-osd..:

主要问题 - 行尾

$ 到了行尾,仍处于命令模式

A 转到行尾,切换到插入模式

相反 - 行的开始(技术上是第一个非空白字符)

^ 进入行首,保持在命令模式

I (大写i)转到行首,切换到插入模式

进一步 - 开始行(技术上是第一列,不管空白)

0 (零)进入行的开头,保持在命令模式

0i (零后跟小写i)进入行的开头,切换到插入模式

对于那些开始学习vi的人来说,通过列出并排vi命令到典型的Windows GUI Editor光标移动和快捷键,可以很好地介绍vi.

适用于Windows用户的vi编辑器


"I"的类似物不是"0"而是"^",因为"I"和"^"都转到行的第一个*非空白*字符,但是"0"转到第0列(作为其名称)暗示).

5> Commodore Ja..:

如果当前行环绕可见屏幕到下一行,则可以使用g $到达屏幕行的末尾.


行的末尾.
我刚刚发现预先挂起的上下命令用*g*make vim移动基于屏幕的光标,而不是基于行.即*gj*和*gk*允许您在长线上上下移动.真有用.
@Druckles:有点迟到的回复,但是如果你还在想,(或者如果还有其他人在读这篇文章的话)`gw`和`gq`是重新格式化文本的命令.(参见`:h gw`和`:h gq`)可能发生的事情是你做了'gw {motion}`并更改了一些文字,以便屏幕线对应于实际的线条.

6> 小智..:

美元符号:$



7> Diastrophism..:

'End'键的优点是它可以在普通和插入模式下工作.

'''仅在正常/命令模式下工作,但它也适用于经典的vi编辑器(很好地知道vim何时不可用).


你在插入模式下徘徊了什么?!在白天之后,没有普通的体面的公民去那里.你知道那里发生了什么,不是吗?代码消失了,你知道吗?它消失了,再也没有听到过.
谢谢你,因为我喜欢在我输入后保持插入模式.不幸的是我的笔记本电脑没有End键.:(

8> Pramod..:

在许多情况下,当我们在一个字符串里面时,我们被双引号括起来,或者在写一个语句时我们不想按下escape并用箭头键转到该行的末尾并按下分号(;)结束这条线.在vimrc文件中写下以下行:

imap  $a

这条线说什么?它将Ctrl + l映射到一系列命令.它相当于你一次按Esc(命令模式),$(行尾),a(追加).


@trysis你误解了,这并没有摆脱编辑模式,这是相当不错的.
你是对的."vim"当然可以让你在更短的时间内完成更多这样的事情.@razorxpress,一个小调整是`imap A`,这使得Ctrl + l相当于按下'Esc`(退出插入模式),然后是'A`(追加到行尾).
我认为映射这个的更惯用的方法是`inoremap A`

9> loevborg..:

还要注意线(或物理线)和屏线之间的区别.一行由行尾字符("\n")终止.屏幕线是指在终端或屏幕中显示为一行字符的任何内容.如果物理线长于屏幕宽度,则两者分开,这在写电子邮件等时非常常见.

这种区别也出现在行尾命令中.

$并分别0移动到物理行或段落的结尾或开头:

g$并分别g0移动到屏幕行或段落的结尾或开头.

如果您总是喜欢后一种行为,则可以重新映射这样的键:

:noremap 0 g0
:noremap $ g$



10> Brian..:

按此A键从行尾开始进入编辑模式.



11> davr..:

或者有明显的答案:使用End密钥转到行尾.


在Mac上没有结束键.
我不认为这适用于所有终端.

12> graywh..:

可能不相关,但是如果你想在当前行之后开始一个新行,你可以在行中的任何地方使用o.

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有