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

如何在Linux vi中保存文件?

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

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


核心保存步骤

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

  2. 输入保存命令

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

    • 仅保存不退出:输入 :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

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

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

    • 检查路径:输入 :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+环境验证。

0