如何在vi/vim文本编辑器中显示或者隐藏行号

时间:2020-01-09 10:44:05  来源:igfitidea点击:

在编写Shell脚本或者C程序时如何显示vi/vim文本编辑器的行号?
如何在Linux,Apple OS X/macOS或者类似Unix的操作系统上打开或者关闭此功能?
如何使vi文本编辑器显示或者隐藏行号?
如何通过编辑~/.vimrc配置文件在vim启动时启用行号?

在vi/vim下显示行号对于调试程序错误和提高程序或者脚本的整体可读性非常有用。

Vim在软件开发人员,系统管理员和Linux/Unix/macOS用户中非常受欢迎,但是默认情况下不显示行。
在本教程中,您将学习如何在基于Linux/Unix的系统上运行的Vim/Vi文本编辑器中显示或者隐藏行号。

使vi/vim文本编辑器显示或者隐藏行号

Vim可以在左边距显示行号:

  • 按ESC键
  • 在:提示符下,执行以下命令以在行号上运行:set number
  • 要关闭行号,请在提示符下输入以下命令:set nonumber

让我们详细查看所有命令以在vim中显示行号。

Vi或者Vim显示行号命令

要在窗口的左侧显示行号,请在使用文本编辑器时执行以下任一命令。
首先按Esc键。
按:并在:提示符下执行以下命令之一:

set number

或者

set nu

输出示例:
vi/vim的行号生效

是否要在vim或者vi中显示相对行号?
尝试:

:set relativenumber

或者

:set rnu

如何在vim/vi中关闭行号

要再次关闭(或者隐藏)行号,请在:提示符下输入相同的命令:

set nu!

或者

set nonumber

要关闭相对行号,请尝试:

:set norelativenumber

或者

:set nornu

使用vim时如何永久启用行号设置

如果每次启动vi/vim时都需要编号,请将以下行添加到~/.vimrc文件中:

$ vi ~/.vimrc

追加以下行:

set number

在vim中保存并关闭文件。

如何在特定位置/行号处打开文件

从shell提示符跳转到特定的行号,执行:

$ vi +linenumber file.c
$ vi +300 initlib.c

从shell提示符跳转到包含main()函数的特定行,执行:

$ vi +/searchTermHere file.c
$ vi +/main initlib.c
### note shell escape done with \ ###
$ vi +/addUser\( initlib.c
$ vi +/addUser\(arg1\) initlib.c

vim行号使用的最小列数

设置以下选项:

:set numberwidth=N
:set numberwidth=1
:set numberwidth=4
:set numberwidth=10

N的最小值是1,最大值N是10。
有关更多信息,请参见此页面。

如何列出所有当前的vim设置?

在:提示下,执行:

set all

要查看到目前为止在vim配置文件或者运行时中已设置的所有内容的列表,请在:提示符下执行以下命令:

set