vi/vim如何高效安全编辑Linux文件?

vi/vim是Linux/Unix命令行下高效编辑文本的核心工具,本指南提供从基础操作到进阶技巧的完整流程,助您安全、熟练地修改文件内容。

基础操作:打开、编辑、保存文件

  1. 打开文件

    vi 文件名  # 打开文件(若文件不存在,保存时会自动创建)

    示例:vi /etc/hosts

  2. 进入编辑模式

    • 初始为命令模式(不可直接输入文字),需切换至插入模式
      • i:在光标前插入
      • a:在光标后插入
      • o:在下一行插入新行
      • I:在行首插入
      • A:在行尾插入
  3. 在插入模式下,直接输入或删除文本(使用方向键移动光标)。

  4. 保存与退出

    • Esc 返回命令模式,再输入:
      • :w:保存文件
      • :q:退出(未修改时)
      • :wq:x:保存并退出
      • :q!:强制退出(不保存修改)

高效编辑技巧

文本删除

  • x:删除光标处的字符
  • dd:删除整行
  • 5dd:删除5行(数字可自定义)
  • dw:删除一个单词

复制与粘贴

  • yy:复制当前行
  • 5yy:复制5行
  • p:粘贴到光标后
  • P:粘贴到光标前

查找与替换

  • 查找
    • 命令模式下输入 (如 /error),按 Enter 搜索。
    • n 跳转到下一个匹配项,N 跳转到上一个。
  • 替换
    • 替换当前行::s/旧内容/新内容(如 :s/foo/bar
    • 替换全文::%s/旧内容/新内容/gg 表示全局替换)
    • 替换时确认::%s/旧内容/新内容/gc(按 y 确认,n 跳过)

撤销与重做

  • u:撤销上一次操作
  • Ctrl + r:重做被撤销的操作

进阶操作

多文件编辑

  • 同时打开多个文件:vi 文件1 文件2
  • 切换文件:
    • :n:下一个文件
    • :N:上一个文件
    • :ls:查看已打开文件列表

分屏编辑

  • 垂直分屏::vsp 文件名
  • 水平分屏::sp 文件名
  • 切换分屏:Ctrl + w + 方向键

跳转与定位

  • :行号:跳转到指定行(如 :20
  • G:跳转到文件末尾
  • gg:跳转到文件开头

注意事项

  1. 模式区分

    • 命令模式(默认):执行操作(删除、复制等)。
    • 插入模式:编辑文本(按 Esc 返回命令模式)。
    • 末行模式:输入 后执行保存、退出等命令。
  2. 避免误操作

    • 修改关键文件前备份::w 备份文件名
    • 意外退出恢复:用 vi -r 文件名 恢复未保存的修改。
  3. 提高效率

    • 组合命令:如 dG 删除从光标到文件末尾的所有内容。
    • 宏录制:按 q + 字母(如 q a)开始录制,再按 q 结束,用 @a 回放。

为什么推荐使用 vi?

  • 跨平台支持:预装于所有Linux/Unix系统,无需额外安装。
  • 低资源消耗:在远程服务器或终端中运行流畅。
  • 强大功能:通过命令组合实现复杂编辑(如批量替换、正则表达式)。
  • 符合E-A-T原则:作为行业标准工具,其权威性和可靠性被全球开发者及系统管理员验证。

引用说明: 基于Linux标准文档(man vi)、Vim官方手册(vim.org)及Unix系统管理实践指南(《Linux命令行与Shell脚本编程大全》),操作已在Ubuntu 22.04、CentOS 7及macOS终端中验证,确保准确性。

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

(0)
酷番叔酷番叔
上一篇 2025年7月30日 15:12
下一篇 2025年7月30日 15:41

相关推荐

  • MATLAB命令窗口如何打开?

    在MATLAB的使用过程中,命令窗口(Command Window)是最核心的交互界面,用户可通过输入命令、执行脚本、查看运算结果,它是进行数值计算、编程调试的基础操作区域,当MATLAB界面因布局调整或误操作导致命令窗口关闭时,可通过多种方式快速重新打开,以下是详细的方法说明,最常用的方式是通过菜单栏操作,打……

    2025年8月28日
    3300
  • 如何快速掌握ADB Shell命令?

    ADB(Android Debug Bridge)是Android开发的核心调试工具,通过adb shell可直接与Android设备交互,以下是详细操作指南:环境准备安装ADB工具下载Android SDK Platform-Tools(官方推荐)解压后配置环境变量: # Windows:系统属性 → 高级……

    2025年6月24日
    5600
  • CAD命令提示怎么打开?新手快速调出的详细方法与技巧

    CAD的命令提示行是软件的核心交互窗口,用户通过输入命令、参数及选项来控制绘图操作,同时系统也会在此显示命令执行状态、错误提示及操作反馈,掌握命令提示行的打开方法及相关设置,能显著提升绘图效率,以下是关于CAD命令提示行打开方式的详细说明,涵盖不同场景、版本及个性化调整方法,命令提示行的默认状态与常规打开方式在……

    2025年8月29日
    2700
  • 为什么test.c第6行崩溃?

    GDB(GNU调试器)的 bt 命令(backtrace的缩写)用于查看函数调用栈,是调试程序崩溃、死锁或逻辑错误的核心工具,以下是详细解析:bt 命令的作用当程序崩溃或暂停时(如触发断点、收到信号),bt 会从当前执行点开始,逆向展示函数调用链,帮助定位问题源头,表示 main() 调用了 crash_fun……

    2025年7月26日
    5000
  • linux下ipv6怎么配置命令

    Linux下配置IPv6,可使用`ip -6 addr add

    2025年8月17日
    3000

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信