vi的三种模式及切换
-
命令模式(默认模式)
- 启动时自动进入:
vi 文件名
(文件不存在则新建) - 功能:执行复制、粘贴、删除等命令,不可直接输入文本。
- 其他模式返回命令模式:按
ESC
键
- 启动时自动进入:
-
插入模式(编辑文本)
- 从命令模式切换:
i
:光标前插入a
:光标后插入o
:下一行插入
- 此模式下可自由输入/删除文本。
- 从命令模式切换:
-
末行模式(保存/退出/搜索)
- 从命令模式切换:按
- 功能:执行保存、退出、搜索替换等操作。
✅ 模式切换口诀:命令模式是中枢,
i/a/o
进插入,ESC
退回命令, 进入末行。
基础操作命令(命令模式下使用)
光标移动
h
← /j
↓ /k
↑ /l
→Ctrl + f
:下一页Ctrl + b
:上一页0
:行首 / :行尾gg
:文件首行 /G
:文件末行50G
:跳转到第50行
文本编辑
x
:删除光标处字符dd
:删除整行yy
:复制当前行p
:粘贴到光标后u
:撤销操作 /Ctrl + r
:重做r
:替换单个字符(如r + a
替换为a)
保存与退出(末行模式)
:w
:保存文件:q
:退出(未修改时):q!
:强制退出(不保存修改):wq
或:x
:保存并退出:w 新文件名
:另存为新文件
高效进阶技巧
搜索与替换
- 搜索(命令模式):
→ 按n
下一个 /N
上一个 - 替换(末行模式):
:%s/旧文本/新文本/g
→ 全局替换
:10,20s/旧文本/新文本/g
→ 替换10-20行
多文件操作
- 分屏编辑:
:sp 文件名
(横向分屏) /:vsp 文件名
(纵向分屏) - 切换窗口:
Ctrl + w + 方向键
显示设置(末行模式)
:set number
:显示行号:set nonumber
:隐藏行号:set paste
:避免粘贴文本时自动缩进错乱
常见问题解决
-
卡在界面无法退出?
- 连续按
ESC
确保回到命令模式,再输入:q!
强制退出。
- 连续按
-
误操作后恢复文件?
- 使用
:e!
放弃修改并重新加载文件。
- 使用
-
粘贴文本格式错乱?
- 先执行
:set paste
再粘贴,结束后:set nopaste
。
- 先执行
学习建议
- 必练命令:
i
、ESC
、:wq
、dd
、yy
/p
、/搜索
- 练习环境:终端输入
vimtutor
启动官方教程(约30分钟)。 - 提示:操作前备份文件,避免误操作丢失数据。
💡 为什么vi值得学?
- 无需图形界面,SSH远程操作必备
- 执行速度极快,资源占用低
- 熟练后编辑效率远超普通编辑器
引用说明: 参考Linux官方文档(vim.org)、IBM开发者社区《Vi编辑器指南》及《Linux命令行与Shell脚本编程大全(第4版)》(Richard Blum, Christine Bresnahan著),确保信息专业可靠,操作验证环境:Ubuntu 22.04、CentOS 7。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/7195.html