1.移动光标
h j k l
上:k 下:j 左:h 右:l
2.模式
普通模式和插入模式
敲击按键 | 含义 |
---|---|
i | 在光标前进入插入模式 |
I | 在光标所在行的行首进入插入模式 |
a | 在光标的后边进入插入模式 |
A | 在光标所在行的行尾进入插入模式 |
o | 在光标所在行的下方插入空行并进入插入模式 |
O | 在光标所在行的上方插入空行并进入插入模式 |
s | 删除光标指定的字符并进入插入模式 |
S | 将光标所在行清楚并进入插入模式 |
3.删除命令
普通模式下,删除单一字符可以使用x命令,删除更多字符可以使用d命令
motion–表示操作范围的指令
按键 | 含义 |
---|---|
0 | 将光标定位到行首的位置 |
^ | 同上 |
$ | 将光标定位到行尾的位置 |
b | 将光标定位到光标所在单词的起始处 |
e | 将光标定位到光标所在单词的结尾处 |
w | 将光标定位到下一个单词的起始处 |
gg | 将光标定位到文件的开头 |
G | 将光标定位到文件的末尾 |
-d motion可以组成更多的删除命令
按键 | 含义 |
---|---|
d0 | 删除光标从当前位置(不包含)到该行行首的所有字符 |
d^ | 同上 |
d$ | 删除从光标当前位置(包含)到该行行尾的所有字符 |
db | 删除从光标当前位置(不包含)到该单词起始处的所有字符 |
de | 删除从光标当前位置(包含)到单词结尾处的所有字符 |
dw | 删除从光标当前位置(包含)到下一个单词起始处的所有字符 |
dh | 删除光标前边一个字符 |
dl | 删除光标制定的字符 |
dj | 删除光标所在行以及下一行的所有字符 |
dk | 删除光标所在行以及上一行的所有字符 |
dd | 删除光标所在行的字符 |
dgg | 删除光标所在行到文件开头的所有字符 |
dG | 删除光标所在行到文件末尾的所有字符 |
- 数字 + motion = 重复多个motion
- d + 数字 + motion = 删除多个motion范围
4.撤销
- u表示撤销最后一次修改
- U表示撤销对整行的修改
- ctrl + r 可以恢复撤销的内容
5.粘贴
按键 | 含义 |
---|---|
yy | 复制游标所在的那一行(常用) |
nyy | n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行(常用) |
y1G | 复制游标所在行到第一行的所有数据 |
yG | 复制游标所在行到最后一行的所有数据 |
y0 | 复制光标所在的那个字符到该行行首的所有数据 |
y$ | 复制光标所在的那个字符到该行行尾的所有数据 |
p, P | p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行! 举例来说,我目前光标在第 20 行,且已经复制了 10 行数据。则按下 p 后, 那 10 行数据会贴在原本的 20 行之后,亦即由 21 行开始贴。但如果是按下 P 呢? 那么原本的第 20 行会被推到变成 30 行。 (常用) |
命令c = 命令d + 进入删除模式
6.查看文件信息
按键 | 含义 |
---|---|
ctrl + g | 在底栏显示文件信息 |
行号+G / :行号 | 跳转到该行 |
% | 找到另一半括号 |
<< / >> | 左右缩进 |
7.搜索
/目标 | ?目标 | |
---|---|---|
搜索方向 | 从光标开始向后 | 从光标开始向前 |
n | 向后搜索下一个 | 向前搜索下一个 |
N | 向前搜索下一个 | 向后搜索下一个 |
十个特殊字符需加转义符’\‘进行搜索:. * [ ] ^ % / ? ~ $
8.文件操作
按键 | 含义 |
---|---|
:w filename | 文件另存为 |
:r filename | 将别的文件合并到该文件中 |
vi -o 或 -O | 打开多个文件,小写竖向排列,大写横向排列 |
ctrl + ww | 打开多个文件时进行切换窗口 |
9.显示行号
在当前文件输入命令 :set nu,即显示行号,:set nonu则为取消。该方法只为临时显示行号,下次打开时同样没有。
永久显示行号
在命令行输入vim ~/.vimrc
,即进入配置文件vimrc中,加入set nu
, 保存退出,就可永久显示行号