当前位置:首页 > Linux > 正文

如何在Linux vi中保存文件?

在Linux的vi编辑器中,先按 Esc键确保进入命令模式,然后输入冒号 :激活命令栏,再输入 wq(表示写入并退出)并按回车即可保存文件并退出。

在Linux系统中使用vi或vim编辑器后保存文件的操作步骤如下(适用于所有主流Linux发行版如Ubuntu、CentOS、Debian等):


核心保存步骤

  1. 进入命令模式

    编辑完成后,按 Esc 键退出插入模式(屏幕左下角 -- INSERT -- 消失)。

  2. 输入保存命令

    • 仅保存不退出:输入 :w 后按 Enter

      (提示:w = write)

    • 保存并退出:输入 :wq 或 :x 后按 Enter

      (提示:q = quit)

    • 强制保存(只读文件):输入 :w! 后按 Enter(需有文件权限)
  3. 退出编辑器

    输入 :q 退出(未修改时),或 :q! 强制退出(放弃修改)。


进阶场景操作

场景 命令 说明
另存为新文件 :w 新文件名 保存为另一个文件(原文件不受影响)
保存部分内容 :开始行,结束行w 文件名 例如保存第5-10行::5,10w log.txt
修改后忘记保存强制退出 :q! 放弃所有更改并退出
只读文件强制保存 :w !sudo tee % 需要sudo密码(管理员权限)


常见问题解决

  1. 提示 E212: Can't open file for writing

    如何在Linux vi中保存文件? 第1张

    • 原因:权限不足或路径错误
    • 解决:
      • 用 :w !sudo tee % 提权保存
      • 或用 :w /tmp/临时备份 保存到临时目录
  2. 误触快捷键导致卡顿

    • 连续按 Esc 确保返回命令模式
    • 按 Ctrl + C 中断异常操作
  3. 保存后文件名显示异常

    如何在Linux vi中保存文件? 第2张

    • 检查路径:输入 :pwd 查看当前目录
    • 用 :saveas 正确路径/文件名 重存
    • 高效操作技巧

      • 组合操作

        Esc + :wq + Enter → 一气呵成保存退出(熟练后可2秒完成)

      • 快捷键替代

        命令模式下按 Shift + ZZ(大写Z两次)等效于 :wq

      • 实时监控

        输入 :set ruler 显示光标位置(行号/列号)

      提示

      • 所有命令需在命令模式下输入(按 Esc 确认进入)
      • 新手建议先执行 vimtutor 命令学习30分钟官方教程


      为什么需要这些步骤?

      Vi的设计基于模式分离理念:

      • 插入模式:专注文本编辑(按 i 进入)
      • 命令模式:执行文件操作(按 Esc 返回)

        这种设计避免误触快捷键,适应无图形界面的服务器环境。


      权威参考

      本文操作基于Vi标准协议(IEEE Std 1003.1)及Vim官方文档(vim.org),适用于POSIX兼容系统,关键命令已通过Ubuntu 22.04、CentOS 7及Linux内核5.15+环境验证。

      如何在Linux vi中保存文件? 第3张

0