2020年3月3日 星期二

vi行号使用

从内部讲,vi通过给编辑缓冲区的每一行编一个号来区分各行。如果想看这些行号,则可以打开number选项。所使用的命令是:

:set number

例如,假设您使用vi写一篇应用哲学论文。编辑缓冲区包含:
I have a little shadow that goes
in and out with me,
And what can be the use of him
is more than I can see

如果输入命令:set number,将会看到:
1 I have a little shadow that goes
2 in and out with me,
3 And what can be the use of him
4 is more than I can see

意识到下述一点非常重要,即行号并不是数据的真正组成部分。它们只是为了使用方便而设置的。如果想出去行号,可以按如下方式关闭number选项:

:set nonumber

如果行号关闭,则可以通过按^G键查看位于文件何处。这将显示文件的名称,以及光标在文件中的位置。

行号有两个主要用途。第一,从后面可知,可以在许多ex命令中使用行号。第二,可以使用G(go to, 跳到)命令跳转到指定行。只需简单的键入行号,后面跟上G即可。注意不要键入空格,也不需要按<Return>键。例如,为了跳转到第100行,可以键入:

100G

要跳转到编辑缓冲区的开头,可以键入1G。对于比较新版的vi来说,也可以使用gg代替1G

另外,也可以通过键入(冒号),后面跟行号,再按<Return>键跳转到指定行。下面举一些例子。其中,第一条命令跳转到第一行,第二条命令跳转到第100行,最后一条命令跳转到文件的末尾(当指定行号时,$字符代表文件的最后一行。

:1
:100
:$

下面是所有变体的小结:

nG 跳转到第n行

1G 跳转到编辑缓冲区的第一行

gg 跳转到编辑缓冲区的第一行

G 跳转到编辑缓冲区的最后一行

n 跳转到第n

:1 跳转到编辑缓冲区第一行

:$ 跳转到编辑缓冲区的最后一行

G1G(或者gg)命令特别有用。

沒有留言:

張貼留言