一、6种基本模式
- 可视模式(高亮); 选择模式(不可输入); EX模式(:visual 命令退出)
二、进入插入模式方式:
快捷键 | 作用 | 快捷键 | 作用 |
---|
i | 在光标处插入 | I | 在光标行首插入 |
a | 在光标后插入 | A | 在光标行末插入 |
o | 在光标行后插入新行 | O | 在光标行前插入新行 |
cw | 替换从光标所在位置后到一个单词结尾的字符 | | |
三、退出vim:
命令 | 作用 | 命令 | 作用 |
---|
:q | 退出 | :q! | 强制退出,不保存 |
:w <文件路径> | 另存为 | x | 保存并退出 |
wq | 保存并退出 | wq! | 强制保存并退出 |
普通模式下输入shift + zz 即可保存并退出vim
.
四、普通模式下操作:
h
左 j
下 k
上 l
右-
.
重复上一命令 ~
光标所在字母变大小写Ctrl + o
回到上一次光标所在位置
4.1. 删除文本
快捷键 | 作用 | 快捷键 | 作用 |
---|
x 或Delete | 删除游标所在字符 | X | 删除游标所在前一个字符 |
dd | 删除整行 | dw | 删除一个单词 |
d^ | 删除至行首 | d$ 或D | 删除至行尾 |
d1G | 删除至文档首部 | dG | 删除至文档尾部 |
4.2. 行间跳动
快捷键 | 作用 |
---|
nG | 游标移动到第n行(输入:set nu 显示行号) |
gg | 游标移动到第1行 |
G | 移动到最后一行 |
4.3. 行内跳动
快捷键 | 作用 | 快捷键 | 作用 |
---|
w | 跳到下一个单词开头 | e | 跳到当前单词的结尾 |
b | 跳到前一个单词的开头 | ge | 跳到前一个单词的结尾 |
0 或^ | 跳到行头 | $ | 跳到行尾 |
f<字母> | 向后搜索<字母> | F<字母> | 向前搜索<字母> |
t<字母> | 向后搜索<字母>,跳到匹配前一个字母 | T<字母> | 向前搜索<字母>,跳到匹配的后一个字母 |
4.4. 复制粘贴
快捷键 | 作用 | 快捷键 | 作用 |
---|
nyy | 复制游标所在的n 行 | y^ 或y0 | 复制到行首,不含光标所在字符 |
y$ | 复制到行尾,含光标所在字符 | ynw | 复制n 个单词 |
yG | 复制到文本末 | y1G | 复制到文本首 |
p | 粘贴至光标后(下) | P | 粘贴到光标前(上) |
ddp | 与下一行交换 | | |
4.5. 替换和撤销
快捷键 | 作用 | 快捷键 | 作用 |
---|
r<字母> | 替换为指定字母 | R | 连续替换,直到按下Esc |
cc | 替换整行,并进入插入模式 | cw | 替换一个单词,并进入插入模式 |
C | 替换游标至行末 | ~ | 反转游标字母大小写 |
un | 撤销n次操作 | U | 撤销当前行的所有操作 |
Ctrl + r | redo ,即撤销undo 的操作 | | |
4.6. 快速缩进
>>
:整行将向右缩进
<<
:整行将向左回退
4.7. 快速查找
快捷键 | 作用 | 快捷键 | 作用 |
---|
/icmp | 查找字符串icmp | n | 查找下一个字符串icmp |
?tcp | 查找字符串tcp | N | 查找上一个出现的tcp |
? | 向上查找 | / | 向下查找 |
\* | 向后找光标所在单词 | \# | 向前找光标所在单词 |
noh | 取消搜索 | g* 或g# | 分别同\* ,g# ,但部分符合即可 |
五、命令行模式操作:
5.1. 调整文本位置
命令 | 作用 | 命令 | 作用 | 命令 | 作用 |
---|
:ce | 居中 | :ri | 靠右 | :le | 靠左 |
5.2. 缩放值
命令 | 作用 | 命令 | 作用 |
---|
:set shiftwidth ? | 获取缩放值 | :set shiftwidth=10 | 缩放值设为10个字符 |
5.3. 编辑多个文件
$ vim 1.txt 2.txt # 默认1.txt
命令 | 作用 | 命令 | 作用 | 命令 | 作用 |
---|
:n | 切换到 2.txt | :n! | 强制切换 | :N | 切换到 1.txt |
5.4. 打开新文件
命令 | 作用 | 命令 | 作用 |
---|
:e 3.txt | 打开新文件 | :e# | 回到前一个文件 |
:b 2.txt | 切换到2.txt | :bd 2.txt | 删除以前编辑过的列表中的文件 |
:f | 显示正在编辑的文件 | e! 4.txt | 放弃正在编辑的文件,打开4.txt |
f new.txt | 重命名为new.txt | | |
5.5. 恢复文件
$ vim -r 1.txt
:ewcover 1.txt
六、可视模式下操作
shift + v
行选择
ctrl + v
区域选择
v
字符选择
七、视窗操作
命令 | 作用 | 命令 | 作用 |
---|
vsp 1.txt | 新的垂直分屏视窗 | :sp 2.txt | 新的水平分屏视窗 |
:new | 打开新vim视窗 | ctrl+w s | 将当前窗口分割成两个水平的窗口 |
ctrl+w q | 即:q 结束分割 | ctrl+w v | 将当前窗口分割成两个垂直的窗口 |
ctrl+w J(K,H,L) | 将当前视窗移至下(上、左、右)面 | ctrl+w j(k,h,l) | 移至下(上、左、右)面视窗 |
ctrl+w + | 增加视窗的高度 | ctrl+w - | 减少视窗的高度 |
ctrl+w o | 打开一个视窗并隐藏之前的所有视窗 | | |
八、set 功能
8.1. 获取目前设定
命令 | 作用 | 命令 | 作用 |
---|
:set 或:se | 显示所修改过的配置 | :set all | 显示所有的设定值 |
:set option? | 显示option的设定值 | :set nooption | 取消当前设定值 |
8.2. set功能的说明
命令 | 作用 | 命令 | 作用 |
---|
:set autoindent (ai ) | 设置自动缩进 | :set autowrite (aw ) | 设置自动存档 |
:set background = dark (light ) | 设置背景风格 | :set backup (bk ) | 设置自动备份 |
:set cindent (cin ) | 设置c 语言风格缩进 | | |
九、其它
9.1. 创建加密文档
$ vim -x file1
9.2. 执行外部的shell命令
命令 | 作用 |
---|
:!ls | 用于显示当前目录的内容 |
:!rm FILENAME | 用于删除名为FILENAME的文件 |
w FILENAME | 另存为FILENAME的文件 |
9.3. 查看帮助
(1)普通模式按F1打开vim预设的帮助文档
(2)h shiftwidth
:打开名为shiftwidth的帮助文档
(3)ver
:显示版本及参数