如何退出 Vi 或 Vim 编辑器
已发表: 2022-01-29 如果您不习惯vi
编辑器,您会感到困惑。 如果您偶然发现此应用程序,则需要秘密握手才能逃脱。 这是在 Linux、macOS 或任何其他类 Unix 系统上退出 vi 或 vim 的方法。
快速回答
如果您在vi
或vim
中并且需要退出(无论是否保存更改),方法如下:
- 首先,按 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
和其他编辑器之间最明显的区别是,当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 键:
:问!
在此命令中, q
是quit
的缩写。 感叹号增加了重点,所以就像你在大喊“退出!” 在vi
。 这可能会让你感觉好一点。
感叹号还指示vi
不保存您对文件所做的任何更改。 如果您在vi
中犯了错误并且不知道自己在做什么,那么您可能不想挽救您造成的破坏。
返回命令行后,您可能需要仔细检查以确保文件未被更改。 您可以使用以下命令执行此操作:
猫.bashrc | 较少的
当您退出vi
时,如果您看到一条消息说“自上次更改以来没有写入”,这意味着您错过了命令中的感叹号。 为了防止您退出并丢失您可能希望保留的任何更改, vi
让您有机会保存它们。 只需重新发出:q!
带有感叹号的命令退出vi
并放弃任何更改。
如果您确定,请保存您的更改
如果您对您对文件所做的更改感到满意,您可以使用:wq
(写入和退出)命令退出并保存更改。 在继续之前,请确保您完全满意您希望将屏幕编辑写入文件。
键入冒号、字母 w(写)和字母 q(退出)。 当您可以在终端的左下方看到它们时,按 Enter 键:
:wq
学习曲线是值得的
使用vi
有点像使用钢琴。 你不能只是坐下来使用它; 你必须进行一些练习。 当你面临编辑某些东西的压力时,坐下来冷处理并尝试在飞行中学习并不是这样做的方法。 这就像第一次坐在钢琴前一样有意义,就像您的就职音乐会拉开帷幕一样。
vi
的大部分功能来自于它的许多击键组合,每个组合都执行一个常见的编辑任务。 这很好,但是在你记住它们、练习它们并且它们是你肌肉记忆的一部分之前,你无法从它们中受益。
在那之前,如果你发现自己在vi
中查看一个重要文件,只需:q!
并优雅地退出。 您的重要文件将感谢您。