vim的三种模式:命令模式、输入模式、底行模式
命令模式可以执行
1. i 在光标前输入
2. o 在光标下一行输入
3. a 在光标后输入
4. G 光标移动到底行
5. gg 光标移动到首航
6. w 光标移动到下一个单词的词首
7. e 光标移动到当前单词的词尾
8. b 光标移动到当前单词的词首
9. r 替换光标所在位置的字符一次
10.R 一直替换光标所在位置字符,知道按esc退出为止
11. x 删除光标所在位置的字符
12. dd 删除光标行
13. dw 删除光标处到下一个单词词首的字符
14. de 删除光标处到当前单词词尾的字符
15. db 删除光标处到当前单词词首的字符
16. d$ 删除光标到行尾
17. d^ 删除光标到行首
18. ^ 光标移动到行首
19. $ 光标移动到行尾
20. yy 复制
21. p 粘贴
22. 5yy 向下复制五行
23. u 撤销操作
24. n 查找下一个匹配
25. N 查找上一个匹配
输入模式,对内容进行修改,退出输入模式:先按esc键,然后输入英文冒号,然后进行如下操作
1. wq(保存并退出),
2. x(保存并退出),
3. q!(强制退出,不保存)
4. w /path/to/somefile 另存为某个文件
底行模式
1.set num 显示行号
2. %d 删除全文
3. 5,10w /root/1.txt 将文中第5到10行内容另存为/root/1.txt
4. $r /etc/hello.txt 在指定位置插入指定文件的所有内容
5. %s/hello/hi/g 全文替换,将hello替换为hi
6. g/^$/d 删除空格行
7. %s/^\s*//g 删除行首空格
8. %s/\s*$//g 删除行尾空格
多文件格式
1. vim file1 file2
: next 下一个文件
:prev 上一个文件
:lastest 最后一个文件
:wqall 所有文件保存退出
2. 窗口分割
vim -o|-O file1 file2 …
-o:水平分割
-O:垂直分割
窗口跳转:
ctrl-w h: 跳转到左边的窗口
ctrl-w l: 跳转到右边的窗口
ctrl-w k: 调转到上面的窗口
ctrl-w j: 跳转到下面的窗口
ctrl-w t: 跳转到最顶上的窗口
ctrl-w b:跳转到最底下的窗口
- 可视区块
按住ctrl+v 再移动光标可以选择一个区块,然后进行复制yy
- 窗口划分
使用快捷键 <:sp filename>
与vim -O 功能相似
ctrl +w+↑ 光标移动到上一个窗口
ctrl+w+↓ 光标移动下一个窗口