Vim 是一款出色的编辑器,大多数 Linux/UNIX 系统管理员每天都喜欢并使用它。

你可能会想,“如果 Vim 可以显示行号,我会立即切换到 Vim”。

要在 Vim 中显示行号,请按 Esc 键进入命令模式并使用:

:set number!

那!部分是必要的。

让我们通过示例详细了解它。

实际上,你可以在 Vim 中显示三种行号:

  • 绝对行号
  • 相对行号
  • 混合行号

让我们更深入地了解一下。

在 Vim 中显示绝对行号

在几乎所有 IDE 中都可以找到绝对行号,它以 1 开始,以最后一行的编号结束。

而且,有两种方法可以实现这一点。

从活动的 Vim 会话中设置选项

  1. 确保您处于命令模式。您可以通过按 Escape (Esc) 键切换到命令模式。
  2. 按“:”(冒号)键。Vim 的左下角应该有冒号字符。现在输入“​​set number​​​”,或者您可以输入“​​set nu​​”(简称)并按“Enter”键。

Linux小技巧:如何在 Vim 中显示行号?_命令模式

您现在应该在窗口左侧看到行号。

出于任何原因,如果您最终不喜欢它,您可以使用 ‘​​:set nonumber​​​’ 命令或简称为 ‘​​set nonu​​’ 命令将其关闭。


????

实际上,"​​:set number!​​​" 命令就像一个开关,如果已经显示了行号,并且您再次使用此命令,它将停止显示行号。"​​:set nonumber!​​" 也一样。命令。


通过将其保存在 vimrc 中使其永久化

如果您希望更改是永久性的,您可以将您的首选项保存在位于用户主目录中的 ‘.vimrc’ 文件中。

  1. 使用您喜欢的文本编辑器打开“.vimrc”文件​​-vim ~/.vimrc​
  2. 输入“​​set number​​​”和“​​:wq​​”。

Linux小技巧:如何在 Vim 中显示行号?_服务器_02

下次打开 Vim 时,总是会在 Vim 中看到绝对行号。

如果您不再希望拥有它们,只需从用户的 ‘​​.vimrc​​​’ 文件中删除 ‘​​set number​​’ 行。

在 Vim 中显示相对行号

当您启用了相对行号时,这意味着您当前所在的行是行号 0,并且光标上方和下方的行连续编号为 1、2、3。

这特别有用,因为上下移动光标 x 行数变得更容易,您不必进行从行号中减去当前行号的心算,您可以轻松地转到 Vim 中的特定行。

从活动的 Vim 会话中显示 Vim 中的相对行号

  1. 确保您处于命令模式。您可以通过按 Escape (Esc) 键切换到命令模式。
  2. 按“:”(冒号)键。Vim 的左下角应该有一个冒号字符,现在输入“​​set relativenumber​​​”,或者您可以输入“​​set rnu​​”(简称)并按 Enter 键。

Linux小技巧:如何在 Vim 中显示行号?_运维_03

您将看到与光标所在行的上方和下方的相对行号。

出于任何原因,如果您最终不喜欢它,您可以使用 ‘:​​set norelativenumber​​​’ 命令或简称为 ‘​​set nornu​​’ 命令关闭相对行号,这将完全禁用显示行号的左列。

相同的技巧适用于relativenumber:如果关闭了相对行号,您可以使用 ‘:​​set relativenumber!​​​’ 打开它们 或使用 ‘​​:set rnu!​​’ 简称命令。如果已经切换了相对行号,设置此选项将禁用相对行号。

在 Vim 中总是显示相对的行号

您尝试了相对行号,并且您喜欢它。您想知道如何使这种更改永久化,而不是每次打开 Vim 时都输入 ‘:​​set relativenumber​​’。

要使其永久化,您需要在用户的 ‘vimrc’ 文件中设置此选项。

  1. 使用 Vim 打开 ‘.vimrc’ 文件:vim ~/.vimrc
  2. 输入​​set relativenumber'.vimrc'​​,保存并退出。

Linux小技巧:如何在 Vim 中显示行号?_运维_04

现在,当您打开 Vim 时,您将始终启用相对行号。

在任何情况下你想撤销这个行为,你应该从你的用户的 ‘.vimrc’ 文件中删除 ‘​​set relativenumber​​’ 行。

显示混合行号

混合行号是绝对行号和相对行号的混合,当混合编号模式打开时,光标所在的行将具有绝对编号,而每隔一行将具有相对编号。

在我看来,这是两全其美的方法,您既想知道您正在处理的行号,又想查看当前行上下的相对数字。

从活动的 Vim 会话中设置选项

如果您想临时启用/禁用混合线路号,请执行以下步骤:

  1. 使用命令需要您处于正常模式,因此请确保您处于正常模式。
  2. 按“:”(冒号)键开始编写命令。这会让 Vim 知道你正在输入一个命令。现在输入’​​set number relativenumber​​’。

Linux小技巧:如何在 Vim 中显示行号?_命令模式_05

切换后,您将看到光标所在的行具有绝对行号,其余行具有相对行号。

要禁用混合模式,您需要通过键入禁用这两种编号:​​set nonumber norelativenumber​​。

在 vimrc 中保存首选项

一旦您尝试混合模式并最终喜欢它,您就希望将其设置为默认选项。为此,您需要在用户的 vimrc 文件中进行设置。以下是执行此操作的步骤。

  1. 在您喜欢的编辑器中打开“.vimrc”文件 -vim ~/.vimrc
  2. 在一行上键入​​set number relativenumber​​并保存。

Linux小技巧:如何在 Vim 中显示行号?_服务器_06

这将使更改永久化。

在您不再需要混合行编号的任何情况下,只需​​set number relativenumber​​从用户的 ‘vimrc’ 中删除该行。

关于“vimrc”文件的旁注

假设您的本地用户名是“happytux”,如果你在 ‘​​/home/happytux/.vimrc​​’ 中指定了你的偏好,你的偏好只有在你以用户 ‘happytux’ 的身份打开 Vim 时才会受到尊重。

如果你尝试 ‘​​sudo vim /etc/ssh/sshd_config​​’,你是以超级用户身份打开 Vim,而不是用户 ‘happytux’,所以在这种情况下,你的默认设置不会反映在当前 Vim 会话中.

结论

在行号方面,Vim 提供了两种适合 Vim 用户的附加模式,我喜欢混合行号,因为它可以帮助我在 Vim 中更快地移动,同时显示实际的行号。