261

多年来,我一直使用SHIFTOandSHIFT$移动到vi.

然而SHIFTO更多的是在光标上方打开一个新行。

是否有任何命令可以将您带到行首?

4

10 回答 10

475

您可以在正常模式下使用^0(零)移动到行首。

^将光标移动到行的第一个非空白字符
0总是将光标移动到“第一列”

您还可以使用Shifti移动并切换到插入模式。

于 2012-04-20T09:33:49.407 回答
38

一个简单0的带你到一行的开头。

:help 0了解更多信息

于 2012-04-20T09:33:17.917 回答
30

试试这个Vi/Vim 备忘单解决许多问题。

对于正常模式:
0- [零] 到行首,第一列。
$- 到行尾

于 2014-11-12T22:02:08.877 回答
13

您可以使用0^移动到行首。
并且可以使用Shift+I移动到开头并切换到编辑模式(插入)。

于 2015-03-08T12:13:51.040 回答
12

还有另一种方法:

|

那就是“管道”——在ANSI 布局中的退格下找到的符号。

Vim quickref ( :help quickref) 将其描述为:

N      |      to column N (default: 1)

包裹线呢?

如果您启用了换行,0|不再将您带到屏幕行的开头。在这种情况下使用:

g0

同样,vim quickref 文档:

 g0   to first character in screen line (differs from "0"
      when lines wrap)
于 2016-10-02T23:13:55.590 回答
11

使用插入模式将光标移动到开头或结尾

  • I- 将光标移动到当前行中的第一个非空白字符并启用插入模式。
  • A- 将光标移动到当前行的最后一个字符并启用插入模式。

这里I相当于^+ i。同样A等价于$+ a

只需将光标移动到开头或结尾

  • ^- 将光标移动到当前行的第一个非空白字符
  • 0- 将光标移动到当前行的第一个字符
  • $- 将光标移动到当前行的最后一个字符
于 2018-05-23T08:55:47.787 回答
7

键入“^”。并获得一个好的“Vi”教程:)

于 2012-04-20T09:29:04.377 回答
5

我刚刚发现 0(零)和 shift+0 在 vi​​m 上工作。

于 2012-04-20T09:32:15.750 回答
2

0带您到行首

Shift 0带你到行尾

于 2017-05-25T00:30:19.703 回答
2

你也可以使用

:-0

这会将光标设置在当前行(此处为空白)的 0 列。

于 2020-08-20T19:43:13.963 回答