linux 编辑文件最主流的就是 vi/vim 全屏编辑器,还有 nano 简易编辑器,另外 sed 属于非交互式流式编辑,适合脚本批量修改,运维日常改配置文件优先使用 vim,新手入门推荐 nano,不需要记忆大量快捷键,vi 是系统原生自带,几乎所有 Linux 发行版都预装,vim 是 vi 增强版,支持语法高亮、代码补全,很多精简系统默认只有 vi,执行 vim 提示 command not found 就需要单独安装,编辑系统配置文件一般需要 root 权限,前面加 sudo,编辑之前建议备份原文件,防止改错无法恢复,交互式编辑器打开文件之后,要区分普通模式、插入模式、命令行模式,很多新手卡在这三种模式切换,导致无法输入文字,下面分板块讲解各个编辑器用法、常用快捷键、非交互编辑命令。
一 vi/vim 编辑器(重点)
基础打开命令
vi 文件路径
vim 文件路径
示例 vi /etc/profile
如果文件不存在,保存之后会自动新建文件
三种模式说明
普通模式 打开文件默认就是这个模式,用来移动光标、复制删除,不能直接打字
插入模式 可以正常输入文字,按 i a o 进入
命令行模式 按冒号:进入,用来保存、退出、查找替换
进入插入模式按键
i 在光标前面插入
a 在光标后面插入
o 在当前行下方新开一行插入
保存退出命令(在普通模式按:之后输入)
:w 保存,不退出
:q 退出
:wq 保存并退出
:q! 强制退出,不保存修改
:wq! 强制保存退出
普通模式常用快捷键
dd 删除整行
yy 复制整行
p 粘贴
u 撤销上一步
/ 关键词 向下查找
? 关键词 向上查找
:% s / 旧内容 / 新内容 /g 全文替换
安装 vim
Ubuntu Debian apt install vim
CentOS RHEL yum install vim-enhanced
二 nano 简易编辑器(新手友好)
打开文件命令
nano 文件路径
特点 底部直接显示快捷键提示,不需要区分复杂模式,打开就可以直接编辑
常用快捷键
Ctrl+O 保存
Ctrl+X 退出
Ctrl+W 查找内容
Ctrl+K 剪切整行
Ctrl+U 粘贴
安装 nano
apt install nano
yum install nano
三 sed 非交互式编辑(脚本批量修改)
sed 不需要进入编辑器界面,直接命令完成修改,适合自动化脚本,不会打开交互窗口
基础语法
sed -i s / 旧文本 / 新文本 /g 文件
示例 sed -i s/123/456/g test.txt
参数 -i 代表直接写入原文件,不加 - i 只会输出修改结果,不会改动源文件
注意 生产环境使用 sed -i 之前建议备份,特殊符号需要转义
四 编辑器对比表格
工具 类型 特点 适用场景
vi/vim 交互式全屏 功能强大,系统自带 改配置,代码编辑
nano 交互式全屏 简单易上手 新手,快速小修改
sed 非交互流式 适合脚本自动化 批量替换修改
高频踩坑要点
vim 打开之后不能打字,是因为还停留在普通模式,需要按 i 进入插入模式
修改完配置保存退出,忘记执行 source 重载配置,导致修改不生效
sed -i 修改文件,特殊字符斜杠、& 没有转义,执行报错
编辑只读文件,普通用户没有写权限,需要 sudo 提权
【常见问题】
问题 1 linux 编辑文件命令 vi 打开之后不能输入文字怎么办
回答 1 linux 编辑文件命令里面,vi 默认是普通模式,按 i 进入插入模式才可以输入,编辑完成按 esc 回到普通模式,再:wq 保存退出,这是 linux 编辑文件命令最常见新手问题。
问题 2 linux 编辑文件命令 vim 和 vi 有什么区别
回答 1 linux 编辑文件命令里面,vi 是基础原生版本,vim 是增强版,增加语法高亮、多级撤销、插件支持,部分系统默认没有 vim 需要手动安装,这是 linux 编辑文件命令核心区分。
问题 3 linux 编辑文件命令 sed 可以交互式修改吗
回答 1 linux 编辑文件命令里面 sed 属于非交互式流式编辑,不需要打开编辑器窗口,适合 shell 脚本批量替换,复杂人工编辑还是推荐 vim 或者 nano,这是 linux 编辑文件命令进阶知识点。
【免责申明】
本文基于 Linux 通用文本编辑器用法整理,不同发行版版本参数略有差异,修改系统核心配置文件前建议备份原文件,错误修改可能造成系统服务异常,操作风险自行承担。


