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如何区分多个U盘的盘符?

    在Linux中区分多个U盘,可通过物理标识(如设备序列号、制造商信息)结合系统信息(如/dev/disk/by-id/路径下的符号链接、udev规则或dmesg日志)精确对应物理设备与盘符(/dev/sdX)及挂载点。

    2025年7月6日
    7700
  • Linux虚拟机如何全屏显示?

    全屏显示的核心条件安装增强工具虚拟机需安装对应平台的增强功能组件(如VMware Tools/VirtualBox Guest Additions),提供分辨率自适应和硬件加速支持,启用显卡驱动Linux系统需激活开源驱动(如xorg-video-vmware)或专有驱动(NVIDIA/AMD),分步操作指南……

    2025年6月16日
    7100
  • 如何轻松搞定stress安装?

    在Linux系统中,刻意使CPU过载甚至触发系统无响应(俗称”当掉”)通常用于压力测试、系统稳定性验证或资源监控测试,但请注意:此类操作将导致服务中断、数据丢失风险,务必在虚拟机或非生产环境中进行,且操作者需具备系统恢复能力, 以下是几种常见方法及原理:使用命令行工具制造CPU负载stress 工具(推荐)su……

    2025年7月26日
    5400
  • 如何设置eth0网关192.168.1.1?

    临时设置默认路由(重启失效)方法1:使用 ip route 命令(推荐)sudo ip route add default via <网关IP> dev <网卡名>sudo ip route add default via 192.168.1.1 dev eth0方法2:使用 route……

    2025年7月6日
    7500
  • Linux如何操作jar文件内容?

    在Linux系统中,JAR(Java Archive)文件是一种常见的归档格式,通常用于打包Java类文件、资源文件(如配置文件、图片、音频等)和依赖库,操作JAR文件内容是Java开发中常见的任务,包括查看、解压、修改、创建和运行等,本文将详细介绍Linux环境下操作JAR文件内容的具体方法和常用命令,查看J……

    2025年10月3日
    4200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信