写点什么

Linux 小技巧:如何在 Vim 中显示行号?

作者:Ethereal
  • 2022 年 3 月 02 日
  • 本文字数:1943 字

    阅读完需:约 6 分钟

Linux小技巧:如何在 Vim 中显示行号?

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


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


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


:set number!
复制代码


那!部分是必要的。


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


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


  • 绝对行号

  • 相对行号

  • 混合行号


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

在 Vim 中显示绝对行号

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


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

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

  1. 确保您处于命令模式。您可以通过按 Escape (Esc) 键切换到命令模式。

  2. 按“:”(冒号)键。Vim 的左下角应该有冒号字符。现在输入“set number”,或者您可以输入“set nu”(简称)并按“Enter”键。



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


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


💡

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

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

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


  1. 使用您喜欢的文本编辑器打开“.vimrc”文件 -vim ~/.vimrc

  2. 输入“set number”和“:wq”。



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


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

在 Vim 中显示相对行号

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


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

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

  1. 确保您处于命令模式。您可以通过按 Escape (Esc) 键切换到命令模式。

  2. 按“:”(冒号)键。Vim 的左下角应该有一个冒号字符,现在输入“set relativenumber”,或者您可以输入“set rnu”(简称)并按 Enter 键。



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


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


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

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

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


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


  1. 使用 Vim 打开 '.vimrc' 文件:vim ~/.vimrc

  2. 输入set relativenumber'.vimrc',保存并退出。



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


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

显示混合行号

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


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

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

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


  1. 使用命令需要您处于正常模式,因此请确保您处于正常模式。

  2. 按“:”(冒号)键开始编写命令。这会让 Vim 知道你正在输入一个命令。现在输入'set number relativenumber'。



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


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

在 vimrc 中保存首选项

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


  1. 在您喜欢的编辑器中打开“.vimrc”文件 -vim ~/.vimrc

  2. 在一行上键入set number relativenumber并保存。



这将使更改永久化。


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

关于“vimrc”文件的旁注

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


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

结论

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

用户头像

Ethereal

关注

还未添加个人签名 2020.11.18 加入

还未添加个人简介

评论

发布
暂无评论
Linux小技巧:如何在 Vim 中显示行号?_Ethereal_InfoQ写作平台