86

:30会将我的光标移动到第 30 行的开头。

如何告诉 Vim 将光标放在第 y 行第 x 列?这是否可能不使用箭头键或h, j, k,l键?

我正在运行 Vim 版本 7.3.429。

4

4 回答 4

138

尝试一个数字后跟一个管道以到达该行中的指定列。

80|应该让你在那条线上的第 80 位。

编辑:如果你想去一个特定的 x,y 位置,我不确定那个。

于 2012-08-01T21:42:12.343 回答
90

不确定它是否更方便,但您可以cursor直接调用该函数:

:cal cursor(30, 5)

将跳转到第 30 行第 5 列。

于 2012-08-01T21:47:57.007 回答
32

在命令模式下:

键入一个数字,后跟 G(大写)以转到该行号。
示例:30G 转到第 30 行。
示例:G 转到缓冲区的最后一行。

键入一个数字,后跟 | (管道)转到当前行中的该列。
示例:80| 转到第 80 列。

所以:30G80| 转到第 30 行第 80 列。

于 2014-09-30T11:05:02.187 回答
2

另一种选择使用execute <line_num>. 例如,

function GotoLine(line)
     execute a:line
endfunction
于 2018-06-22T20:01:09.267 回答