上一篇
如何在Linux vi中保存文件?
- Linux
- 2025-06-23
- 8
在Linux的vi编辑器中,先按 Esc键确保进入命令模式,然后输入冒号 :激活命令栏,再输入 wq(表示写入并退出)并按回车即可保存文件并退出。
在Linux系统中使用vi或vim编辑器后保存文件的操作步骤如下(适用于所有主流Linux发行版如Ubuntu、CentOS、Debian等):
核心保存步骤
-
进入命令模式
编辑完成后,按 Esc 键退出插入模式(屏幕左下角 -- INSERT -- 消失)。
-
输入保存命令
- 仅保存不退出:输入 :w 后按 Enter
(提示:w = write)
- 保存并退出:输入 :wq 或 :x 后按 Enter
(提示:q = quit)
- 强制保存(只读文件):输入 :w! 后按 Enter(需有文件权限)
- 仅保存不退出:输入 :w 后按 Enter
-
退出编辑器
输入 :q 退出(未修改时),或 :q! 强制退出(放弃修改)。
进阶场景操作
| 场景 | 命令 | 说明 |
|---|---|---|
| 另存为新文件 | :w 新文件名 | 保存为另一个文件(原文件不受影响) |
| 保存部分内容 | :开始行,结束行w 文件名 | 例如保存第5-10行::5,10w log.txt |
| 修改后忘记保存强制退出 | :q! | 放弃所有更改并退出 |
| 只读文件强制保存 | :w !sudo tee % | 需要sudo密码(管理员权限) |
常见问题解决
-
提示 E212: Can't open file for writing

- 原因:权限不足或路径错误
- 解决:
- 用 :w !sudo tee % 提权保存
- 或用 :w /tmp/临时备份 保存到临时目录
-
误触快捷键导致卡顿
- 连续按 Esc 确保返回命令模式
- 按 Ctrl + C 中断异常操作
-
保存后文件名显示异常

- 检查路径:输入 :pwd 查看当前目录
- 用 :saveas 正确路径/文件名 重存
- 组合操作:
Esc + :wq + Enter → 一气呵成保存退出(熟练后可2秒完成)
- 快捷键替代:
命令模式下按 Shift + ZZ(大写Z两次)等效于 :wq
- 实时监控:
输入 :set ruler 显示光标位置(行号/列号)
- 所有命令需在命令模式下输入(按 Esc 确认进入)
- 新手建议先执行 vimtutor 命令学习30分钟官方教程
- 插入模式:专注文本编辑(按 i 进入)
- 命令模式:执行文件操作(按 Esc 返回)
这种设计避免误触快捷键,适应无图形界面的服务器环境。
高效操作技巧
提示:
为什么需要这些步骤?
Vi的设计基于模式分离理念:
权威参考:
本文操作基于Vi标准协议(IEEE Std 1003.1)及Vim官方文档(vim.org),适用于POSIX兼容系统,关键命令已通过Ubuntu 22.04、CentOS 7及Linux内核5.15+环境验证。
