目录
一、vi与vim
Vi是linux系统下自带的文本编辑器,vim则是vi的升级版本,代码补完、编译及错误跳转等方便编程的功能特别丰富。
二、vim的安装
在终端中输入sudo apt-get install vim ,输入密码即可安装。因为我之前安装过,所以显示的不一样。

三、vim的使用
1、进入与退出vim:
进入:vi 文件名 (若该文件未被创建则自动创建);
退出:在普通模式下输入“ : ”然后输入保存退出或退出指令:
w:保存;
q:退出;
wq:保存并退出;
q!:强制退出不保存(!起强制作用);
输入“ : ”后光标会定位到最底行:

2、Vim的模式:
Vim共有六种基本模式和五种派生模式,这里只讲解常用到的三种基本模式:普通模式、插入模式和可视模式。
普通模式:此模式下不能进行输入,键盘上的按键都有其相应的指令;
插入模式:此模式下用于编辑文件;
可视模式:此模式下用于选中某段文本,相当于windows下鼠标左键选中的功能。
3、模式间的切换:
普通模式→插入模式: 输入插入指令即可(插入指令见下文);
普通模式→可视模式:输入可视指令即可(v、V);
插入/可视模式→普通模式:按键盘左上角ESC键即可;
4、光标的移动
在vi中,光标的位置不像windows下用鼠标左键选择,而是通过键盘来移动。
键盘上h,j,k,l 分别对应左移、下移、上移、右移(方向键也可移动);
5、motion——表示操作范围的指令
该指令配合其他操作指令即可完成对特定范围文本的相应操作。
| 按键 | 说明 |
| 0 | 将光标定位到行首的位置 |
| ^ | 同上 |
| $ | 将光标定位到行尾的位置 |
| b | 将光标定位到光标所在单词的起始处 |
| e | 将光标定位到光标所在单词的结尾处 |
| w | 将光标定位到下一个单词的起始处 |
| gg | 将光标定位到文件开头 |
| G | 将光标定位到文件末尾 |
数字+motion = 重复多个motion。
6、插入模式指令:
| 按键 | 说明 |
| i | 在光标的前面进入插入模式 |
| I | 在光标所在行的行首进入插入模式 |
| a | 在光标的后面进入插入模式 |
| A | 在光标所在行的行尾进入插入模式 |
| o | 在光标所在行的下方插入空行并进入插入模式 |
| O | 在光标所在行的上方插入空行并进入插入模式 |
| s | 删除光标指定的字符并进入插入模式 |
| S | 将光标所在行清除并进入插入模式 |
7、可视模式指令:
| 按键 | 说明 |
| v | 选中光标扫过的字符 |
| V | 选中光标扫过的行的所有字符 |
例如:
v(小写)

V(大写)

8、删除命令d
d+[motion] 可实现快速删除,如下
| 按键 | 说明 |
| d0 | 删除光标从当前位置(不包括)到该行行首的所有字符 |
| d^ | 同上 |
| d$ | 删除光标从当前位置(包括)到该行行尾的所有字符 |
| db | 删除光标从当前位置(不包括)到单词起始处的所有字符 |
| de | 删除光标从当前位置(包括)到单词结尾处的所有字符 |
| dw | 删除光标从当前位置(包括)到下个单词起始处的所有字符 |
| dh | 删除光标前边一个字符 |
| dl | 删除光标指定的字符 |
| dj | 删除光标所在行以及下一行的所有字符 |
| dk | 删除光标所在行以及上一行的所有字符 |
| dd | 删除光标所在行的字符 |
| dgg | 删除光标所在行到文件开头的所有字符 |
| dG | 删除光标所在行到文件末尾的所有字符 |
d + 数字 + motion = 删除多个motion范围。
例如输入d5h:
-->
9、撤销命令
| 按键 | 说明 |
| u | 撤销最后一次修改 |
| U | 撤销对整行的修改 |
| ctrl + r | 恢复撤销的内容 |