Linux vi/vim保存文件救命指南

基础保存操作

  1. 进入命令模式
    编辑文件后,按 Esc 键退出插入模式(确保左下角无 -- INSERT -- 提示)。
  2. 执行保存命令
    • 仅保存不退出:输入 :w 后按回车。
      • 成功提示:"filename" [已写入] 行数, 字符数
    • 保存并退出:输入 :wq:x 后按回车。
    • 强制保存(忽略警告):输入 :w!(适用于只读文件但用户有权限时)。

进阶保存场景

  1. 另存为新文件
    输入 :w 新文件名(如 :w backup.txt),原文件不受影响。
  2. 保存部分内容
    • 选中文本后,输入 :'<,'>w 文件名(可视模式下按 v 选择,再输入 自动生成范围)。
  3. 未修改却提示”已修改”时的保存
    若文件被外部修改,强制保存用 :w!(需谨慎)。

保存失败解决方案

问题现象 原因 解决方法
E212: Can't open file for writing 权限不足 sudo vi 文件:w !sudo tee %
E166: Can't open linked file 符号链接指向无效路径 检查路径或保存到新位置 :w 新路径
E382: Cannot write, 'readonly' option is set 文件只读 :w! 强制保存(需权限)

组合操作技巧

  • 保存并退出:wq 或快捷键 Shift + ZZ(无需回车)。
  • 不保存强制退出:q!(放弃所有修改)。
  • 编辑中保存:在插入模式按 Ctrl + O,再输入 :w,回车后继续编辑。

注意事项

  1. 权限管理
    • 修改系统文件前,建议用 sudo vi /path/file 避免权限错误。
  2. 恢复交换文件
    异常退出后重启 vi,按 R 恢复未保存内容(.swp 文件提示)。
  3. 路径规范
    保存路径含空格时,用引号包裹(如 :w 'new file.txt')。

引用说明基于 Vi IMproved (Vim) 9.0 官方文档及 Linux 核心工具实践指南,权威参考来源包括:

  • Vim 官方手册(:help w 命令)
  • Linux 基金会《命令行基础》文档
  • POSIX 标准对 vi 的规范(IEEE Std 1003.1)

掌握这些操作可确保编辑安全高效,建议在终端实操练习,熟悉模式切换与命令组合,提升 Linux 文本处理能力。

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

(0)
酷番叔酷番叔
上一篇 2025年7月25日 18:51
下一篇 2025年7月25日 19:10

相关推荐

  • Linux中如何高效替换文件内的数字?

    在Linux系统中,替换数字是一项常见操作,涉及文件内容修改、文件名批量处理、命令行输出过滤等多种场景,无论是配置文件中的参数调整、日志数据的格式统一,还是文件名的规范化整理,掌握数字替换的方法能显著提升工作效率,以下从不同场景出发,结合常用工具和命令示例,详细说明Linux中替换数字的具体操作,中的数字替换……

    2025年10月8日
    13700
  • Linux系统如何禁用显卡驱动的详细操作步骤?

    在Linux系统中,禁用显卡通常是为了解决驱动冲突、降低功耗、使用集成显卡替代独立显卡,或在特定调试场景下避免显卡干扰,以下是几种常见的禁用显卡方法,涵盖不同场景和显卡类型,操作前建议备份重要数据,避免误操作导致系统无法启动,通过内核参数临时禁用(适用于临时需求)内核参数可以在系统启动时直接禁用显卡驱动,无需修……

    2025年9月10日
    14300
  • Linux程序崩溃怎么调试最快?

    核心调试工具详解GDB(GNU Debugger)Linux下最常用的源代码级调试器,支持多种编程语言(C/C++、Go、Rust等),基础操作流程:编译时加入调试信息: gcc -g -o myapp myapp.c # -g 选项生成调试符号启动调试: gdb ./myapp常用命令:break main……

    2025年7月14日
    15400
  • Linux如何查看当前系统是否为虚拟机?

    在Linux系统中,判断当前运行环境是否为虚拟机(VM)是一个常见需求,尤其是在部署关键应用、性能优化或故障排查时,虚拟化平台(如VMware、VirtualBox、KVM等)会在系统中留下特定的痕迹,通过多种方法可以准确识别,以下将从系统命令、文件系统、专用工具等角度,详细介绍Linux查看虚拟机环境的方法……

    2025年9月8日
    15900
  • 如何用wget下载整个网站

    SCP(安全复制协议)原理:基于SSH加密传输,适合中小文件,命令格式:scp [选项] 用户名@远程IP:远程文件路径 本地保存路径示例:复制单个文件(远程22端口,用户名为user)scp -P 2222 user@192.168.1.100:/home/user/data.txt /local/dir……

    2025年7月8日
    14300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信