上一篇
如何用vi命令快速上手?
- 电脑教程
- 2025-06-15
- 2751
vi是命令行文本编辑器,启动后默认普通模式(移动光标/执行命令);按
i
进入插入模式编辑文本;按
ESC
返回普通模式;输入
:
进入命令行模式,
wq
保存退出,
q!
不保存退出。
vi 编辑器核心概念
vi(Visual Editor)是 Unix/Linux 系统的标准文本编辑器,基于模式化设计:
- 命令模式(默认模式)
启动 vi 后自动进入,可执行复制、删除、搜索等操作(不可直接输入文本)。 - 插入模式
按特定键(如i
/a
)进入,可自由编辑文本。 - 末行模式
在命令模式下按 进入,用于保存、退出或执行高级命令。
基础操作指南
启动与退出
- 启动文件:
vi filename
(文件不存在则新建) - 保存并退出:
:wq
+ Enter(保存退出)
:x
+ Enter(等效 :wq) - 不保存退出:
:q!
+ Enter(强制退出) - 仅保存:
:w
+ Enter
模式切换
- 命令模式 → 插入模式:
i
(光标前插入)
a
(光标后插入)
o
(下一行插入) - 插入模式 → 命令模式:按
Esc
键 - 命令模式 → 末行模式:按
文本编辑(命令模式下)
- 删除:
x
(删除光标处字符)
dd
(删除整行)
5dd
(删除5行) - 复制粘贴:
yy
(复制当前行)
p
(粘贴到光标后) - 撤销/重做:
u
(撤销)
Ctrl + r
(重做)
光标移动(命令模式下)
- 方向键:
h
(左)、j
(下)、k
(上)、l
(右) - 行首/行尾:
0
(行首)、(行尾) - 跳转行号:
:50
+ Enter(跳至第50行) - 屏幕导航:
Ctrl + f
(下一页)、Ctrl + b
(上一页)
搜索与替换
- 搜索:
命令模式下按 ,输入关键词后按 Enter(如/hello
)
n
(下一个匹配项)、N
(上一个) - 替换(末行模式):
:%s/old/new/g
(全文替换)
:10,20s/old/new/g
(替换10-20行)
实用进阶技巧
- 显示行号:
:set number
(启用)
:set nonumber
(关闭) - 分屏编辑:
:sp filename
(水平分屏)
:vsp filename
(垂直分屏)
Ctrl + w + 方向键
(切换窗口) - 执行外部命令:
:!ls
(运行ls
后返回编辑器) - 自动补全:
插入模式下按Ctrl + n
(补全单词)
新手常见问题解决
- 误触大写锁定:
按Esc
返回命令模式,再按a
或i
重试。 - 无法退出:
连续按Esc
确保回到命令模式,再输入:q!
。 - 编辑只读文件:
用sudo vi filename
启动,保存时用:w !sudo tee %
。
注意事项
- 强制退出风险:
:q!
会丢失未保存的修改。 - 替代方案建议:现代系统通常预装 vim(Vi IMproved),支持语法高亮和鼠标操作(命令兼容 vi)。
- 练习推荐:使用
vimtutor
命令启动交互式教程(约30分钟掌握基础)。
引用说明: 基于 Unix/Linux 标准文档(IEEE Std 1003.1)及 Vim 官方手册(
vimdoc.sourceforge.net
),操作验证环境为 Bash 5.x + Vim 9.0,历史背景参考 Bill Joy 1976 年发布的原始 vi 设计论文。