unix和linux的vi命令
unix和linux的vi命令详细介绍
vi 是 Unix/Linux 系统中经典的文本编辑器,其操作基于模式切换,主要分为三种模式:命令模式(默认模式)、插入模式(输入文本)、末行模式(执行高级操作)。以下是常用命令总结:
一、模式切换
- 命令模式 → 插入模式(输入文本):
i:在光标前插入(最常用)。a:在光标后追加。o:在光标下一行插入新行。I:行首插入;A:行尾插入;O:光标上一行插入新行。
- 插入模式 → 命令模式:
按下ESC键(部分环境可能需要按Ctrl+[)。 - 命令模式 → 末行模式(输入冒号触发):
输入:(如:w保存、:q退出)。
二、命令模式(核心操作)
1. 光标移动
- 基础移动:
h(左)、j(下)、k(上)、l(右)(可配合数字,如5j向下 5 行)。 - 行内移动:
0(行首)、$(行尾)、^(行首非空字符)。 - 全文移动:
G(文末)、1G或gg(文首)、5G(第 5 行)。
2. 文本编辑
- 删除:
x:删除光标处字符(3x删除 3 个字符)。dd:删除整行(5dd删除 5 行)。d$:删除光标到行尾;d0:删除光标到行首;dw:删除光标到单词结尾。 - 复制 / 粘贴:
yy:复制整行(5yy复制 5 行);yw:复制单词。p:粘贴到光标后(P粘贴到光标前)。 - 撤销 / 恢复:
u:撤销上一步操作;Ctrl+r:恢复撤销(重做)。
3. 查找与替换
- 查找:
输入/关键字(向后查找)或?关键字(向前查找),按n下一个,N上一个。 - 替换(末行模式):
:s/旧内容/新内容/g:当前行替换所有匹配(g表示全局,不加仅替换第一个)。:10,20s/旧内容/新内容/g:第 10 到 20 行替换。:%s/旧内容/新内容/g:全文替换(%表示所有行)。
三、末行模式(保存 / 退出 / 高级操作)
- 保存与退出:
:w保存;:w 文件名另存为;:q退出(未保存时会报错);:wq保存并退出;:q!强制退出(不保存)。 - 其他操作:
:set nu显示行号;:set nonu隐藏行号;:!命令执行系统命令(如:!ls查看当前目录)。
四、注意
- vi 没有鼠标操作,所有功能依赖键盘命令。
- 现代 Linux 系统通常使用
vim(vi 的增强版),支持语法高亮、多窗口等,但基础命令与 vi 完全兼容。
熟练掌握这些命令后,你可以高效地在终端中编辑文本。如果需要更复杂的操作(如多文件编辑),可以进一步学习 vim 的扩展功能。