vi 是 linux 的内置文本编辑器
事实上,所有的 Unix Like 系统都会内建 vi文本编辑器
vim 则是 vi编辑器 的增强版本(支持语法高亮,方便程序设计,习惯上也称为vi),使用更广泛
工作模式
vi编辑器 有命令模式、输入模式、底线命令模式
我们通过 vi 文件名
的形式打开(或新建)文件进行编辑,如图所示:
结合图示介绍 vi编辑器 的三种工作模式,相当于图形软件窗口中的不同界面,不同的模式中能够对文件进行的操作也不相同
1)命令模式(Command mode):启动vi编辑器后默认进入命令模式,该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作
2)输入模式(Insert mode):该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修改、或者添加新的内容。处于输入模式时,vi编辑器的最后一行会出现 -- INSERT --
的状态提示信息
3)底线命令模式(Last line mode):该模式中可以设置vi编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时,vi编辑器的最后一行会出现冒号 :
提示符
插入模式则用来向文本中添加内容的,常用的是 i 和 o
i 在光标所在字符前开始输入文字并进入插入模式
o (字母 o) 在光标所在行的下面单独开一新行来输入文字并进入插入模式
i 是在光标所在的字符之前插入需要录入的文本。
I 是在光标所在行的行首插入需要录入的文本。
a 是在光标所在的字符之后插入需要录入的文本。
A 是在光标所在行的行尾插入需要录入的文本。
o 是光标所在行的下一行行首插入需要录入的文本。
O 是光标所在行的上一行行首插入需要录入的文本。
补充说明:
特别地,命令模式按 q
会进入宏录制
非insert模式下输入 q
停止宏的录制
此功能不是特别常用,但我们需要知道触发后怎么退出
- 在命令模式下按下q键盘(此时左下角有“recording”这个标识)
- 选择a-z或0-9中任意一个作为缓冲器的名字,准备开始录制宏
- 正常的操作,此次所有的操作都会被记录在上一步中定义的缓冲器中
- 在非insert模式下输入q停止宏的录制
- 使用@ + 第二步中定义的缓冲器的名字即可
命令模式的基本操作
光标移动
复制、粘贴、删除
文件内容查找
撤销编辑及保存退出
保存文件及退出vi编辑器
打开新文件或读入其他文件内容
文件内容替换
其他常用
切换到后台
- CTRL+Z 挂起进程并放入后台
- jobs 显示当前暂停的进程
- bg %N 使第N个任务在后台运行(%前有空格)
- fg %N 使第N个任务在前台运行
默认 bg,fg 不带 %N 时表示对最后一个进程操作!
多窗口操作
水平方向 :sp [filename]
垂直方向 :vs [filename]
窗口切换 先按Ctrl+w,然后按方向键
:qall 关闭所有文件quit all
:wall 写入所有文件write all