转到行首,不在VI中打开新行

时间:2012-04-20 09:28:16

标签: vim vi

现在我已经使用 SHIFT O SHIFT $ 移动到开头和结尾vi中的一行。

然而 SHIFT O 更多用于在光标上方打开一个新行。

是否有任何命令可以将您带到行的开头?

10 个答案:

答案 0 :(得分:361)

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

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

您也可以使用 Shift i 移动并切换到插入模式。

答案 1 :(得分:23)

简单的0会将您带到行的开头。

:help 0了解更多信息

答案 2 :(得分:17)

尝试这个Vi/Vim cheatsheet解决许多问题的方法。

对于普通模式:
0 - [零]到第一列的开头。
$ - 到行尾

答案 3 :(得分:12)

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

答案 4 :(得分:10)

还有另一种方式:

|

这就是“管道” - 在ANSI layout的退格空间下找到的符号。

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

N      |      to column N (default: 1)

包裹线怎么样?

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

g0

再次,vim quickref doc:

 g0   to first character in screen line (differs from "0"
      when lines wrap)

答案 5 :(得分:7)

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

答案 6 :(得分:5)

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

答案 7 :(得分:2)

使用插入模式

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

此处I相当于^ + i。同样,A相当于$ + i

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

  • ^ - 将光标移动到当前的第一个非空白字符 线
  • 0 - 将光标移动到当前行中的第一个字符
  • $ - 将光标移动到当前行中的最后一个字符

答案 8 :(得分:1)

0 带你到行的开头

Shift 0 带你到行尾

答案 9 :(得分:1)

您也可以使用

:-0

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