HOWTO · Linux

使用 Vi 和 Vim 编辑器打开特定行号的文件

在 Linux 中使用 vi 或 vim 编辑器打开特定行号的文件的简单指南。

本页内容

本教程演示了使用 Bash 命令行界面 (CLI) 使用 vi 或 vim 编辑器打开具有特定行号的纯文本文件的方法。

首先,我们将简要介绍 vi 编辑器及其后续 vim 编辑器。然后,我们将立即转到它们在光标指向特定行号时打开文件的用途。

Linux 中的 vi 和 vim 编辑器简介

vi 编辑器是几乎所有 Linux 发行版中最经典的文本编辑器。因此,它不需要在使用前安装任何额外的软件包。

此外,vi 是一个易于使用的基于 CLI 的编辑器,可用于任何纯文本文件。因此,它重量轻且速度快。

vim 编辑器是 vi 编辑器的继承者,代表 Vi IMproved。它添加了新功能并改进了许多原始的 vi 编辑器。

它遵循 POSIX 1003.2-1 标准,这使得它几乎兼容所有 Unix 和 Linux 发行版,包括 MS-DOS、Macintosh、Amiga、VMS、BeOS、RISC OS、IBM OS/390、Atari MiNT、Windows 95 和 Windows NT。

此外,它与所有 vi 版本兼容(即向上兼容)。除了改进的兼容性之外,经典的 vi 实现最有趣的补充是包含对多级撤消的支持,这是一个图形用户界面。

它还具有多个标签页、Shell 命令的仿真器终端窗口、语法突出显示、拼写检查、改进的代码缩进和多语言支持。

可以使用以下步骤找到完整的差异或添加列表及其综合指南。

  1. 打开终端,输入 vim,然后回车。将出现以下屏幕。

VIM

  1. 现在,输入:help vi_diff.txt。这将打开 vim_diff.txt 文件,其中包含 vi 和 vim 之间的全面比较。vim_diff.txt 文件的快照如下。

VIM2

使用 vi 或 vim 编辑器创建新文件

打开终端并输入以下内容。

vi [fileName]

如果 fileName 是现有文件的有效名称,vi 编辑器将打开该文件。如果在当前目录中没有具有 fileName 的文件,则创建一个名称与 fileName 相同的新文件。

在文件中插入文本并保存修改

假设你要创建一个名为 sample.txt 的新文件并将 Hello World 插入其中。按照以下步骤进行操作并保存更改。

  1. 打开文件。

VIM3

  1. 在 vim 编辑器中打开文件后,按 i 进入插入模式。每行开头的 ~ 符号表示该行只是空的并且之前没有使用过。

VIM4

  1. 开始输入所需的文本或内容。在我们的例子中,开始输入 Hello World。

VIM5

  1. 可以通过按Esc按钮进入命令模式保存更改,输入 -wq(保存文件并退出编辑器),然后按Enter 键。

VIM6

在 vi 或 vim 中打开特定行号的文件

上述方法可以以相同的方式打开现有文件并对其进行修改。

每当打开现有文件时,闪烁的光标始终指向第一行的开头。但是,有时用光标指向文件中的特定行号打开文件会很方便。

例如,编译一个长代码文件后,你可能会知道第 563 行存在语法错误。你打开文件并使用箭头键转到第 563 行。

这可能会花费一些时间并减慢你的调试任务。因此,vi 和 vim 编辑器都提供了在特定行号打开现有文件的功能。

vim [+command OR +lineNumber] fileName

要查找特定术语,请突出显示并转到该特定术语。请遵循以下语法。

vim [+/searchTerm] fileName

请确保上述所有命令都可以在 vi 编辑器中正常工作。我们需要在上面的命令中用 vi 替换 vim。

示例:假设你想在第 56 行打开一个名为 program.c 的文件。只需在 bash 终端中键入以下内容即可。

vim +56 program.c

或者

vim +/56 program.c

上述命令应输出为:

VIM7

我们可以看到光标指向第 56 行的开头。

vim 编辑器默认不显示行号。我们可以使用 vim 界面中的 set 命令显示行号。

:set number
注意
如果你已经在 vi/vim 界面,按Esc键进入命令模式,输入 lineNumber,再按Shift +G 跳转所需的行号。