多年来,我一直使用SHIFTO和SHIFT$来移动到vi中的一行的开始和结束。

然而,SHIFTO更适合在光标上方打开新行。

是否有任何命令只把你带到一行的开始?


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


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


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

:help 0获取更多信息


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

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

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


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

正常模式: 0 -[零]到行首,第一列。 $ -到行结束


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


还有另一种方法:

|

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

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

N |到N列(默认为1)

换行行呢?

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

g0

你又来了

G0到屏幕行的第一个字符(与“0”不同) 当行换行时)


0带你到行首

Shift 0把你带到线的末端


使用插入模式将光标移动到开始或结束

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

这里I等于^ + I,同理,A等于$ + A。

只要把光标移到开头或结尾

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


你也可以使用

:-0

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