如何用vi编辑器高效管理Linux系统?

启动与退出

  1. 启动文件
    vi filename  # 打开文件(若不存在则创建)
  2. 退出操作
    • 保存退出:命令模式下输入 :wq
    • 强制退出(不保存)::q!
    • 仅保存::w

核心模式切换

vi有三种模式,通过按键切换:

  • 命令模式(默认):进入vi时的初始模式,执行导航、删除等命令。
  • 插入模式:按 i(光标前插入)、a(光标后插入)、o(下方新行插入)进入文本编辑。
  • 末行模式:在命令模式下按 进入,执行保存、搜索等操作。

提示:按 Esc 键可随时返回命令模式。


基础编辑操作(命令模式下)

  1. 光标移动

    • h(左)、j(下)、k(上)、l(右)
    • 行首:0,行尾:
    • 跳至第n行::n(如 :10 跳至第10行)
  2. 文本操作

    • 删除字符:x
    • 删除整行:dd
    • 复制行:yy
    • 粘贴:p(光标后粘贴)或 P(光标前粘贴)
    • 撤销:u,重做:Ctrl + r
  3. 进入插入模式

    • i:光标前插入
    • A:行尾插入
    • O:当前行上方插入新行

高级功能

  1. 搜索与替换

    • 搜索:命令模式下输入 /keyword(按 n 跳至下一个结果)
    • 替换:末行模式输入 :%s/old/new/g(全局替换)或 :10,20s/old/new/g(替换10-20行)
  2. 显示行号

    • 临时显示::set number
    • 永久配置:创建 ~/.vimrc 文件并添加 set number
  3. 分屏操作

    • 水平分屏::sp filename
    • 垂直分屏::vsp filename
    • 切换窗口:Ctrl + w + 方向键

实用技巧

  • 重复操作:在命令前加数字(如 5dd 删除5行)。
  • 组合命令d$ 删除至行尾,yG 复制到文件末尾。
  • 查看状态Ctrl + g 显示文件名和行号。
  • 执行外部命令:末行模式输入 :!command(如 :!ls 查看目录)。

常见问题解决

  1. 误入插入模式无法操作:按 Esc 返回命令模式。
  2. 文件只读:用 :w !sudo tee % 强制保存(需sudo权限)。
  3. 恢复崩溃文件:重启后输入 vi -r filename

学习建议

  1. 运行 vimtutor 命令进行30分钟交互练习。
  2. 参考官方文档::help 或访问 Vim Documentation。
  3. 常用快捷键备忘:
    命令模式 → i/a/o → 插入模式  
    插入模式 → Esc → 命令模式  
    命令模式 → : → 末行模式

引用说明基于Vim 9.0官方手册及Unix系统管理标准实践,权威来源包括《Vi and Vim Editors Pocket Reference》(O’Reilly)及Linux man pages,操作已验证于Ubuntu 22.04/CentOS 7环境。

掌握vi需反复练习,初期可能不适应模式切换,但熟练后编辑效率远超图形工具,建议从基础命令开始,逐步探索高级功能。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/7115.html

(0)
酷番叔酷番叔
上一篇 2025年7月12日 20:06
下一篇 2025年7月12日 20:27

相关推荐

  • 安丘人脸识别门禁施工如何保障安全与便捷?

    安丘人脸识别门禁施工是现代智慧社区、办公楼宇及公共场所安全管理的重要环节,其通过生物识别技术实现高效、便捷的身份核验,有效提升了出入管理的安全性与智能化水平,在安丘地区,随着城市化进程加快和智慧城市建设推进,人脸识别门禁系统的应用日益广泛,施工过程中的技术选型、设备安装、系统集成及后期维护等环节均需严格把控,以……

    2025年12月2日
    3900
  • 安全TSDB安装步骤是什么?

    安装安全TSDB的详细指南在当今数据驱动的时代,时间序列数据库(TSDB)因其高效处理时序数据的特性而被广泛应用于监控、物联网和日志分析等领域,随着数据安全需求的日益增长,如何在安装TSDB时确保其安全性成为关键,本文将详细介绍安全TSDB的安装步骤、注意事项及最佳实践,帮助用户构建一个既高效又安全的数据存储环……

    2025年12月1日
    5200
  • 如何在CRF中输入命令?

    在自然语言处理和序列标注任务中,条件随机场(CRF)是一种广泛应用的统计模型,其效果依赖于特征工程和模型参数的合理设置,无论是使用命令行工具(如CRF++)还是Python库(如sklearn-crfsuite),正确输入命令是完成模型训练、预测的关键步骤,本文将详细说明在不同工具中如何输入CRF相关命令,包括……

    2025年8月24日
    8600
  • 为什么需要ping命令

    ping命令是用于测试网络连接的工具,通过发送数据包到目标主机并接收回应,检测目标是否可达、测量网络延迟和丢包率。

    2025年6月14日
    10600
  • exp命令怎么用?操作步骤与注意事项详解

    exp命令是Oracle数据库经典的数据导出工具,主要用于将数据库中的对象(如表、索引、视图、存储过程等)及数据导出为二进制格式文件(.dmp),实现数据备份、迁移、跨平台传输等需求,尽管Oracle后续推出更高效的Data Pump工具(expdp/impdp),但exp命令因操作简单、兼容性较好,仍被部分用……

    2025年8月23日
    8000

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信