vi 是 linux 的内置文本编辑器
事实上,所有的 Unix Like 系统都会内建 vi文本编辑器

vim 则是 vi编辑器 的增强版本(支持语法高亮,方便程序设计,习惯上也称为vi),使用更广泛

工作模式

vi编辑器 有命令模式、输入模式、底线命令模式
我们通过 vi 文件名 的形式打开(或新建)文件进行编辑,如图所示:

vim/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