在 Linux 的 Vim 编辑器中,显示行号的方法分为 临时生效永久生效 两种场景,

一、临时显示行号(当前会话有效)

适合临时调试或查看行号,关闭 Vim 后设置会重置。

  1. 进入 Vim 命令模式
    打开文件后(如 vim test.txt),先按 Esc确保进入 命令模式(左下角无 INSERT 等提示)。
  2. 执行显示行号命令
    在命令模式下,输入以下命令之一(冒号 : 开头,进入末行模式):
:set number   # 完整命令,显示“绝对行号”(每行固定行号)
或
:set nu       # 简写,效果同上

执行后,Vim 左侧会显示每行的绝对行号(如 123...)。

二、永久显示行号(所有会话生效)

通过修改 Vim 配置文件,让行号默认显示,无需每次手动设置。

方式 1:修改用户级配置(推荐)

每个用户可自定义 ~/.vimrc 文件(仅影响当前用户):

  1. 打开(或创建)用户级配置文件:
vim ~/.vimrc
  1. 添加显示行号的配置:
    在文件中新增一行(可直接在 Vim 编辑模式写入):
set number  # 或简写 set nu
  1. 保存并退出:
    Esc 进入命令模式,输入 :wq 保存并退出。
    后续打开任何文件(如 vim abc.txt),默认会显示行号。
方式 2:修改系统级配置(影响所有用户)

修改 /etc/vimrc(需管理员权限,影响系统所有用户):

  1. sudo 打开系统配置文件:
sudo vim /etc/vimrc
  1. 添加 set number
    在文件末尾新增 set number(或 set nu)。
  2. 保存退出:Esc:wq

三、扩展:相对行号(以光标为基准)

除了绝对行号,Vim 还支持 相对行号(以光标所在行为基准,显示其他行的相对距离),适合代码跳转场景。

  • 临时启用
    命令模式下执行:
:set relativenumber  # 或 :set rnu

效果:当前行显示绝对行号,其他行显示与当前行的相对行数(如光标在第 5 行,上方行显示 43...,下方行显示 12...)。

  • 同时显示绝对 + 相对行号
:set number relativenumber
  • 永久生效
    将上述命令添加到 ~/.vimrc/etc/vimrc 中即可。

四、关闭行号的方法

  • 临时关闭:命令模式下执行
:set nonumber  # 或 :set nonu
  • 永久关闭:删除/注释掉配置文件(~/.vimrc/etc/vimrc)中的 set number 相关语句,保存后重启 Vim 生效。

关键说明

  • Vim 的设置是环境级的,不会修改文件内容,仅影响显示。
  • ~/.vimrc 不存在,直接创建即可(Vim 会自动加载)。
  • 系统级配置(/etc/vimrc)需谨慎修改,建议优先用用户级配置(~/.vimrc)。