如何退出 Vi 或 Vim 编辑器

已发表: 2022-01-29

Ubuntu Linux 上的 vi 编辑器

如果您不习惯vi编辑器,您会感到困惑。 如果您偶然发现此应用程序,则需要秘密握手才能逃脱。 这是在 Linux、macOS 或任何其他类 Unix 系统上退出 vi 或 vim 的方法。

快速回答

如果您在vivim中并且需要退出(无论是否保存更改),方法如下:

  • 首先,按 Esc 键几次。 这将确保vi退出插入模式并处于命令模式。
  • 其次,输入:q! 并按 Enter。 这告诉vi退出而不保存任何更改。 (如果您确实想保存更改,请输入:wq 。)

如果你想学习 Linux 命令行,你需要知道的远不止这些。 继续阅读,我们将向您展示vi的工作原理以及为什么退出说明如此不寻常。 vi是一个重要而强大的工具,学习曲线是值得的。

vi,无处不在的编辑器

因为vi无处不在,所以你很有可能会遇到它。 你甚至可以偶然发现自己在vi中。 也许有人要求您为他们查看他们的 Linux 计算机。 您发出类似crontab -e的命令,然后vi会弹出。 令人惊讶的是,有人将crontab的默认编辑器配置为vi

也许您正在管理一个系统,其中vi是唯一的编辑器,或者是唯一可以通过远程 SSH 会话工作的系统,并且您需要编辑用户的 .bashrc 文件。

广告

启动vi并打开文件的命令很简单。 键入vi ,一个空格,然后是文件名。 按 Enter。 启动的程序可能是vi或者可能是vim ,一个“改进的vi ”。 这取决于您的 Linux 发行版——例如,Ubuntu 使用vim 。 本文中的所有说明同样适用于vim

 vi .bashrc

vi中的.bashrc

vi和其他编辑器之间最明显的区别是,当vi启动时,您不能只开始输入文本。 那是因为vi是一个模态编辑器。 编辑是在一种模式下执行的,即插入模式,发出命令是在命令模式下执行的。 vi启动到命令模式。

如果您不熟悉插入模式和命令模式的概念,可能会感到莫名其妙。 您可以在命令模式下发出的许多命令都会影响您正在键入的文件。 如果您处于命令模式,但您错误地尝试在文件中输入文本,则结果不会很好。 您发出的某些击键将被识别为命令。 这些命令可能会删除或分割行、移动光标或删除文本。

而且,无论您键入什么内容,您都找不到退出或退出编辑器的方法。 同时,您的文件变得非常混乱,看似随机的哔哔声让您发疯。

在 vi 中编辑的错误尝试

命令模式和插入模式

您需要将vi切换到您想要完成的适当模式。

命令模式是vi启动时的默认模式。 除非你知道得更好,否则你会开始尝试打字。 如果你碰巧按下了“i”键,或者其他 10 个调用插入模式的键(a、A、c、C、I、o、O、R、s 和 S)中的任何一个,你会突然看到什么你在打字。 您现在处于插入模式。

广告

在您按下箭头键之一之前,这可能感觉像是进步。 如果您这样做,A、B、C 或 D 将作为唯一的字母出现在另一个空白的新行上。 在文件的顶部。

没关系,我们支持你。 当您知道如何操作时,这非常容易。 记住这两个键击:Esc 带您进入命令模式,“i”带您进入插入模式。

您需要处于命令模式,并输入正确的命令才能离开编辑器。

从指挥模式到安全

要进入命令模式,请按 Esc 键。 什么都不会发生。 多打几次。 如果您在按下 Escape 键时听到哔哔声,则说明您处于命令模式。 哔声告诉您“停止按 Esc,您已经处于命令模式。” 如果您在按下 Esc 时听到哔声,我们很好。

键入冒号、字母“q”和感叹号,不带任何空格。 这三个字符应出现在终端底行的最左侧。 如果没有,请按 Esc 直到听到哔声,然后重试。 当您可以看到它们时按 Enter 键:

 :问! 

:问! vi中的命令

在此命令中, qquit的缩写。 感叹号增加了重点,所以就像你在大喊“退出!” 在vi 。 这可能会让你感觉好一点。

广告

感叹号还指示vi保存您对文件所做的任何更改。 如果您在vi中犯了错误并且不知道自己在做什么,那么您可能不想挽救您造成的破坏。

返回命令行后,您可能需要仔细检查以确保文件未被更改。 您可以使用以下命令执行此操作:

 猫.bashrc | 较少的

.bashrc 更少

当您退出vi时,如果您看到一条消息说“自上次更改以来没有写入”,这意味着您错过了命令中的感叹号。 为了防止您退出并丢失您可能希望保留的任何更改, vi让您有机会保存它们。 只需重新发出:q! 带有感叹号的命令退出vi并放弃任何更改。

自上次更改消息以来没有写入

如果您确定,请保存您的更改

如果您对您对文件所做的更改感到满意,您可以使用:wq (写入和退出)命令退出并保存更改。 在继续之前,请确保您完全满意您希望将屏幕编辑写入文件。

键入冒号、字母 w(写)和字母 q(退出)。 当您可以在终端的左下方看到它们时,按 Enter 键:

 :wq 

vi 中的 :wq 命令

学习曲线是值得的

使用vi有点像使用钢琴。 你不能只是坐下来使用它; 你必须进行一些练习。 当你面临编辑某些东西的压力时,坐下来冷处理并尝试在飞行中学习并不是这样做的方法。 这就像第一次坐在钢琴前一样有意义,就像您的就职音乐会拉开帷幕一样。

广告

vi的大部分功能来自于它的许多击键组合,每个组合都执行一个常见的编辑任务。 这很好,但是在你记住它们、练习它们并且它们是你肌肉记忆的一部分之前,你无法从它们中受益。

在那之前,如果你发现自己在vi中查看一个重要文件,只需:q! 并优雅地退出。 您的重要文件将感谢您。