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

rix*_*rix 208 vi vim

现在我已经习惯了,SHIFTO并且已经SHIFT$移动到了一行的开头和结尾vi.

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

是否有任何命令可以将您带到一条线的起点?

Xav*_* T. 390

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

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

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

  • Shift + A和Shift + I也分别进入行尾和行尾,并切换到插入模型 (4认同)
  • 对我来说,按"^"通常不像连续按"0"和"w"那么容易. (4认同)

Fre*_*ihl 27

简单0就会将您带到一行的开头.

:help 0 欲获得更多信息


cur*_*key 21

尝试这个Vi/Vim cheatsheet解决方案来解决许多问题.

对于正常模式:
0- [零]到行的开头,第一列.
$ - 到行尾


a8m*_*a8m 12

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

  • 你的回答大部分是正确的,但有一个小警告。`Shift+I` 或 `^` 将光标移动到行中 **text** 的开头。如果行开头有 `n` 个制表符,它会将光标移动到 `n*tabstop + 1`th 列。而`0`将光标移动到该行的*第一列*。 (2认同)

And*_*yuk 10

还有另一种方式:

|
Run Code Online (Sandbox Code Playgroud)

这就是"管道" - 在ANSI布局中的退格空间下找到的符号.

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

N      |      to column N (default: 1)
Run Code Online (Sandbox Code Playgroud)

包裹线怎么样?

如果你有包装线启用,0并且|将不再带你到屏幕行的开头.在这种情况下使用:

g0
Run Code Online (Sandbox Code Playgroud)

再次,vim quickref doc:

 g0   to first character in screen line (differs from "0"
      when lines wrap)
Run Code Online (Sandbox Code Playgroud)


ras*_*hok 10

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

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

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

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

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


Ski*_*tol 7

输入"^".并获得一个很好的"Vi"教程:)

  • 如果该行缩进,它在我的 vim 中不起作用。上面提到的“shift+0”效果很好。 (2认同)

bri*_*ang 5

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

  • `shift + 0`那是`)`,这是下一句话 (5认同)