CentOS 7.0 vi命令编辑后如何保存退出?

在 CentOS 7.0 系统中,vi(或其增强版 vim)是默认安装的文本编辑器,它以其强大的功能、高效的编辑能力和极低的资源消耗而闻名,是系统管理员和开发者的必备工具,尽管初学者可能会觉得它的学习曲线有些陡峭,但一旦掌握了其核心操作模式,就能体验到无与伦比的编辑效率,本文将系统地介绍 vi 命令在 CentOS 7.0 环境下的使用方法,从基础入门到高效操作,帮助您快速上手。

CentOS 7.0 vi命令编辑后如何保存退出?

核心概念:理解 vi 的三种模式

vi 的强大之处在于其独特的设计理念,它将编辑操作分为不同的模式,理解并熟练切换这些模式是掌握 vi 的关键。

  1. 命令模式
    这是 vi 启动后的默认模式,在此模式下,您输入的任何字符都被视为一个命令,而不是插入到文本中的内容。h, j, k, l 用于移动光标,x 用于删除字符,dd 用于删除整行。

  2. 插入模式
    在此模式下,您可以像使用普通记事本一样输入文本,从命令模式进入插入模式有多种方式,最常用的是按 i(在光标前插入)或 a(在光标后插入),按下 Esc 键可以从插入模式返回到命令模式。

  3. 末行模式
    也称为 ex 模式,在命令模式下按下冒号 键即可进入此模式,光标会移动到屏幕底部,您可以输入诸如保存(w)、退出(q)、搜索()、替换(s)等更复杂的命令,执行完命令后,按 Enter 键会自动返回命令模式。

模式切换关系图:

+----------------+      按 `i`, `a`, `o` 等      +----------------+
|   命令模式     |  ------------------------->  |   插入模式     |
| (Command Mode) | <-------------------------  | (Insert Mode)  |
+----------------+        按 `Esc` 键           +----------------+
        |
        | 按 `:` 键
        v
+----------------+
|   末行模式     |
| (Last Line Mode)|
+----------------+

基本操作:启动、保存与退出

这是每个 vi 新手必须掌握的第一步。

  • 启动 vi

    CentOS 7.0 vi命令编辑后如何保存退出?

    • vi filename:打开或创建名为 filename 的文件,如果文件不存在,则在保存时会创建。
    • vi:不指定文件名,直接打开一个空白缓冲区,退出时需要指定文件名。
  • 保存与退出(在末行模式下操作):

    • w:保存文件,但不退出。
    • w filename:将当前内容另存为 filename
    • q:退出 vi,如果文件已被修改但未保存,则会提示错误。
    • wqx:保存文件并退出,这是最常用的组合命令。
    • q!:强制退出,不保存对文件所做的任何修改,当您想放弃所有更改时非常有用。

高效编辑:光标移动与文本操作

在命令模式下,vi 提供了丰富的光标移动和文本编辑命令,让双手无需离开键盘主键区即可完成所有操作。

光标移动命令

命令 功能 说明
h 左移一格 等同于方向键左
j 下移一行 等同于方向键下
k 上移一行 等同于方向键上
l 右移一格 等同于方向键右
w 移动到下一个单词的开头 Word
b 移动到上一个单词的开头 Back
0 移动到行首 数字零
^ 移动到本行第一个非空字符
移动到行尾
gg 移动到文件第一行
G 移动到文件最后一行
Ctrl + f 向下翻一页 Forward
Ctrl + b 向上翻一页 Backward

文本编辑命令

命令 功能 说明
i 在光标前插入 Insert
a 在光标后插入 Append
o 在当前行下方新开一行并进入插入模式
x 删除光标所在处的字符
dd 删除光标所在行
dw 删除从光标处到下一个单词开头的内容 Delete Word
yy 复制光标所在行 Yank
p 在光标下方粘贴 Paste
P 在光标上方粘贴
u 撤销上一步操作 Undo
Ctrl + r 重做(撤销的撤销) Redo

高级功能:搜索与替换

vi 的搜索和替换功能非常强大,尤其适合处理大型配置文件或代码。

  • 搜索(在命令模式下操作):

    • /pattern:从光标位置向下搜索字符串 pattern
    • ?pattern:从光标位置向上搜索字符串 pattern
    • n:重复上一次的搜索,方向相同。
    • N:重复上一次的搜索,方向相反。
  • 替换(在末行模式下操作):

    • s/old/new/:将当前行第一个 old 替换为 new
    • s/old/new/g:将当前行所有的 old 替换为 new
    • %s/old/new/g:将整个文件中所有的 old 替换为 new,这是最常用的全局替换命令。
    • %s/old/new/gc:在替换前逐个询问用户是否确认(c 代表 confirm)。

实践演练:一个完整的工作流程

假设我们需要在 CentOS 7.0 中创建一个名为 test.conf 的配置文件。

  1. 打开文件:在终端中输入 vi test.conf 并回车,此时进入 vi 的命令模式,屏幕为空。
  2. 进入插入模式:按下 i 键,屏幕左下角会显示 -- INSERT --,表示已进入插入模式。
  3. # This is a test configuration file.
    server_name = myserver
    port = 8080
  4. 发现错误:假设我们发现端口号应该是 9090 而不是 8080
  5. 返回命令模式:按下 Esc 键。
  6. 移动光标:使用方向键或 j 键将光标移动到 port = 8080 这一行。
  7. 删除并修改
    • 按下 0 将光标移动到行首。
    • 按下 f8(查找字符’8’)将光标移动到’8’上。
    • 按下 2x 删除两个数字’80’。
    • 按下 i 进入插入模式,输入 90
  8. 保存并退出:按下 Esc 确保在命令模式,然后输入 wq 并回车。

至此,您已经成功使用 vi 完成了一次完整的编辑任务,熟练掌握这些基础和进阶命令,将使您在 CentOS 7.0 的命令行环境中如鱼得水。

CentOS 7.0 vi命令编辑后如何保存退出?


相关问答FAQs

问题1:我在 vi 里做了很多修改,但我想放弃所有修改并直接退出,应该怎么办?

解答: 这是一个非常常见的情况,如果您想不保存任何更改而强制退出 vi,请按照以下步骤操作:

  1. 确保您处于命令模式(如果不在,请按 Esc 键)。
  2. 输入冒号 进入末行模式
  3. 在底部的命令行中输入 q! 并按 Enter 键。
    这里的 q 代表退出,而 是强制操作符,它会忽略所有未保存的修改,直接关闭编辑器。

问题2:在编辑一个很长的脚本或配置文件时,我希望能显示行号以便定位,该如何开启?

解答:vi 中开启行号显示非常简单,这同样是在末行模式下完成的。

  1. 按下 Esc 键确保处于命令模式
  2. 输入冒号 进入末行模式
  3. 输入 set number 或其简写形式 set nu,然后按 Enter 键,屏幕左侧就会立即显示行号。
    这个设置是临时的,仅在当前这次 vi 会话中有效,如果您希望每次打开 vi 都默认显示行号,可以在您的主目录下创建一个名为 .vimrc 的文件(如果使用的是 vi 而非 vim,则为 .exrc),并在文件中添加 set number 这一行,这样设置就会永久生效。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
新手如何在CentOS服务器上从零部署PHP项目?
上一篇 2025-10-05 21:17
虚拟主机和远程控制有何本质区别与联系?
下一篇 2025-10-05 21:19

相关推荐

  • CentOS 6服务器下如何正确配置双网卡聚合以提高冗余?

    在服务器管理领域,网络的稳定性和吞吐量是保障业务连续性的关键基石,CentOS 6 作为一款曾经广泛使用的企业级操作系统,其网络配置的可靠性尤为重要,网卡聚合,也常被称为链路聚合或网卡绑定,是一种将多块物理网卡虚拟成一块逻辑网卡的技术,通过这项技术,我们不仅可以实现网络冗余,当其中一块网卡或线路出现故障时,另一……

    2025-10-07
    006
  • 如何打造一个高效的房地产型网站来增强客户体验?

    房地产型网站建设是一个专注于为房地产开发商或经纪人创建在线展示平台的过程。这类网站通常包含房产列表、虚拟房屋参观、客户反馈以及联系方式等模块,旨在提供用户友好的浏览体验并促进销售。

    2024-08-07
    0013
  • 如何在CentOS系统中修改FTP用户的密码?

    在CentOS服务器管理中,FTP(文件传输协议)服务因其简单易用,至今仍在文件共享、网站内容更新等场景中扮演着重要角色,随着安全需求的日益提升,定期修改FTP账户密码已成为一项基本的安全运维操作,本文将深入探讨在CentOS环境下,如何针对不同的FTP服务器配置,安全、高效地完成修改密码的任务,内容涵盖系统用……

    2025-10-19
    0030
  • CentOS 6.3系统curl因版本过低无法访问https怎么办?

    在信息技术领域,CentOS 6.3 是一个具有里程碑意义的操作系统版本,它发布于2012年,基于 Red Hat Enterprise Linux 6.3,时至今日,它早已步入生命终点(End-of-Life, EOL),官方不再提供任何安全更新和技术支持,尽管如此,在一些特定的遗留环境中,我们仍可能需要与这……

    2025-10-01
    004

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信