我文件中的蓝色@vi 表示什么?

What does the blue @ vi shows in my file indicate?

我在 vi 中打开了一个文件,我注意到它有时会在终端的左下角显示蓝色 @,在输入命令的位置上方但在我的实际文本下方文件。当我滚动文件时,符号会周期性地出现和消失——它表示什么?我的文件中是否有它提醒我的不可打印符号,或者该符号是否出于其他原因出现?

默认情况下,vi 软换行。如果文件中的一行比您的 window 宽,它会在屏幕上换行。例如,如果您的文件中有这一行:

This is a very long line of text that doesn't fit on one screen line.

而你的window只有40个字符宽,vi是这样显示的:

This is a very long line of text that do
esn't fit on one screen line.

但是如果该行朝向屏幕底部并且没有足够的空间来显示所有换行的续行怎么办?在这种情况下,vi 不会显示该行中的任何字符。相反,它只是在包含部分文件行的每个屏幕行上显示 @。这样您就知道文件中还有更多内容,并且您不会错误地知道该行结束的位置。

所以假设您 window 宽 40 个字符,高 20 行。在你的文件中放入 18 行短行,然后是我上面的示例行。然后 vi 显示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@                                       

(屏幕的最后一行是空白的,是 vi 状态行。您的设置可能会使其在该行显示信息。)

如果按 G(转到文件末尾),vi 会显示整行,换行:

2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
This is a very long line of text that do
esn't fit on one screen line.