上一篇
Linux vi怎么用?
- Linux
- 2025-06-03
- 4774
在Linux终端输入”vi 文件名”启动vi编辑器,按i键进入编辑模式修改内容,按ESC返回命令模式,使用方向键移动光标,命令模式下输入:wq保存并退出,:q!强制退出不保存。
Linux中Vi编辑器的使用详解
Vi(Visual improved)是Linux系统中最经典、最强大的文本编辑器之一,由Bill Joy于1976年开发,作为系统管理员和开发者的必备工具,Vi以其高效的操作模式和广泛的兼容性(几乎所有Unix/Linux系统预装)成为编辑配置文件、脚本和代码的首选,下面将全面解析Vi的使用方法,从基础操作到进阶技巧。
Vi编辑器的核心概念
Vi有三种工作模式,理解模式切换是高效使用的关键:
- 命令模式(Normal Mode)
启动Vi后的默认模式,用于执行复制、删除、搜索等命令(不可直接输入文本)。 - 插入模式(Insert Mode)
按特定键(如i
)进入,可自由编辑文本(屏幕底部显示-- INSERT --
)。 - 末行模式(Ex Mode)
在命令模式下按 进入,用于保存文件、退出、搜索替换等操作。
基础操作指南
启动与退出
# 打开文件(不存在则新建) vi filename.txt # 退出操作(在命令模式下) :q # 退出(无修改时) :q! # 强制退出不保存 :wq 或 :x # 保存并退出
模式切换
按键 | 功能 |
---|---|
i |
光标前插入 |
a |
光标后插入 |
o |
当前行下方插入新行 |
O |
当前行上方插入新行 |
ESC |
返回命令模式 |
光标移动(命令模式下)
按键 | 功能 |
---|---|
h j k l |
左/下/上/右移动 |
0 |
行首 |
行尾 | |
gg |
文件第一行 |
G |
文件最后一行 |
Ctrl + f |
向下翻页 |
Ctrl + b |
向上翻页 |
文本编辑
命令 | 功能 |
---|---|
x |
删除光标处字符 |
dw |
删除一个单词 |
dd |
删除整行 |
yy |
复制当前行 |
p |
粘贴到光标后 |
u |
撤销操作 |
Ctrl + r |
重做操作 |
搜索与替换
# 命令模式下 /pattern # 向下搜索 "pattern" ?pattern # 向上搜索 :noh # 取消高亮显示 # 末行模式下 :%s/old/new/g # 全局替换所有 "old" 为 "new" :12,18s/old/new/ # 替换12-18行的内容
文件操作
:w # 保存文件 :w newfile.txt # 另存为新文件 :e filename.txt # 打开其他文件 :set nu # 显示行号 :set nonu # 隐藏行号
进阶技巧
-
分屏操作
:vsp file.txt # 垂直分屏 :sp file.txt # 水平分屏 Ctrl + w → 切换窗口
-
宏录制
qa
开始录制宏(保存到寄存器a
)- 执行操作(如删除行、插入文本)
q
停止录制@a
回放宏
-
批量注释
:起始行,结束行 s/^/#/ # 添加行首注释(如 :2,10 s/^/#/) :起始行,结束行 s/^#// # 取消注释
常见问题解决
- 误入其他模式?
连续按ESC
返回命令模式。 - 文件只读无法保存?
用:w !sudo tee %
强制保存(需sudo权限)。 - 显示乱码?
检查编码::set fileencoding
,转换格式:e ++enc=utf-8
。 - 恢复崩溃文件
重启后执行vi -r filename
恢复未保存内容。
高效学习建议
- 掌握高频命令(
i
、ESC
、:wq
、dd
、yy
/p
)。 - 练习使用方向键替代鼠标(
h/j/k/l
)。 - 查阅Vim内置教程:终端输入
vimtutor
(30分钟入门)。
Vi的学习曲线陡峭但回报巨大,熟练后编辑效率远超图形工具,推荐安装增强版 Vim(Vi IMproved)以支持语法高亮、插件等功能:
sudo apt install vim # Debian/Ubuntu sudo yum install vim # CentOS/RHEL
参考资料
- Vim官方文档
- Linux Man Pages (
man vi
) - 《Practical Vim》 by Drew Neil(书籍)
原创声明:本文基于Vi/Vim通用操作规范及实践经验整理,适用于大多数Linux发行版(CentOS, Ubuntu, Debian等),文中命令已通过Bash 5.0及Vim 8.2验证。