基础保存操作
- 进入命令模式
编辑文件后,按Esc
键退出插入模式(确保左下角无-- INSERT --
提示)。 - 执行保存命令
- 仅保存不退出:输入
:w
后按回车。- 成功提示:
"filename" [已写入] 行数, 字符数
- 成功提示:
- 保存并退出:输入
:wq
或:x
后按回车。 - 强制保存(忽略警告):输入
:w!
(适用于只读文件但用户有权限时)。
- 仅保存不退出:输入
进阶保存场景
- 另存为新文件
输入:w 新文件名
(如:w backup.txt
),原文件不受影响。 - 保存部分内容
- 选中文本后,输入
:'<,'>w 文件名
(可视模式下按v
选择,再输入 自动生成范围)。
- 选中文本后,输入
- 未修改却提示”已修改”时的保存
若文件被外部修改,强制保存用: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
,回车后继续编辑。
注意事项
- 权限管理:
- 修改系统文件前,建议用
sudo vi /path/file
避免权限错误。
- 修改系统文件前,建议用
- 恢复交换文件:
异常退出后重启vi
,按R
恢复未保存内容(.swp
文件提示)。 - 路径规范:
保存路径含空格时,用引号包裹(如: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