一、操作模式
- 一般模式 ,默认进入的一般模式,该模式不能编辑文档 ,只能查看。按 i(insert) 进入 插入模式
- 编辑模式、插入模式。该模式可以编辑文档,按esc 退出插入模式,进入到一般模式
- 命令模式 :在 一般模式中按:进入命令模式
- q: 安全退出,当没有操作该文档,则直接按q退出vim
- q!:当修改了内容,但是不想保存,则q!强制退出
- wq :保存退出
- set number 显示行号
- set nonumber 取消行号显示
二、常用快捷键
(在一般模式下使用)
Shift+ zz | 保存退出,与“:wq”作用相同 |
v | 进入字符可视模式 |
V 或 Shift + v | 进入行可视模式 |
Ctrl + v | 进入块可视模式 |
a | 在光标后一位开始插入 |
G | 直接跳到文件的末行 |
dd | 删除行,如果 5dd ,则一次性删除光标后的5行 |
yy | 复制当前行, 复制多行,则 3yy,则复制当前行附近的3行 |
p | 粘贴 |
v | 进入字符选择模式,选择完成后,按y复制,按p粘贴 |
ctrl+v | 进入块选择模式,选择完成后,按y复制,按p粘贴 |
shift+v | 进入行选择模式,选择完成后,按y复制,按p粘贴 |
A | 在该行的最后插入 |
gg | 直接跳到文件的首行 |
I | 在该行的最前面插入 |
三、常见命令
1、插入命令
i | 在光标前插入 |
I | 在光标当前行开始插入 |
a | 在光标后插入 |
A | 在光标当前行末尾插入 |
o | 在光标当前行的下一行插入新行 |
O | 在光标当前行的上一行插入新行 |
2、定位命令
:set nu | 显示行号 |
:set nonu | 取消行号 |
gg | 到文本的第一行 |
G | 到文本的最后一行 |
:n | 到文本的第n行 |
3、替换和取消命令
u | undo,取消上一步操作 |
Ctrl + r | redo,返回到undo之前 |
r | 替换光标所在处的字符 |
R | 从光标所在处开始替换,按Esc键结束 |
4、删除命令
x | 删除光标所在处字符 |
nx | 删除光标所在处后的n个字符 |
dd | 删除光标所在行。ndd删除n行 |
dG | 删除光标所在行到末尾行的所以内容 |
D | 删除光标所在处到行尾的内容 |
:5,7d | 删除指定范围的行 |
四、例子
文本查找替换
:%s/sad/88888888888888 效果:查找文件中所有sad,替换为88888888888888
:/you 效果:查找文件中出现的you,并定位到第一个找到的地方,按n可以定位到下一个匹配位置(按N定位到上一个)
:1,$s/hadoop/root/g 将第一行到最后一行的hadoop替换为root
:1,$s/hadoop/root/c 将第一行到最后一行的hadoop替换为root(有提示)
光标移动
0==》文件当前行的开头
$==》文件当前行的末尾
G==》文件的最后一行开头
:9==》到第九行
恢复
:e!==》恢复到最初状态