一、功能
1. 命令行模式下的文本编辑器。
2. 根据文件扩展名自动判别编程语言。支持代码缩进、代码高亮等功能。
3. 使用方式:vim filename(文件名不存在,则创建一个新的文件,并命名为filename)。
二、模式
vim一共有三种运行模式:
1.一般命令模式(默认模式)
按不同的字符与组合字符,可以对文本和光标进行操作。
(2) 编辑模式
在一般命令模式下可以按i进入编辑模式。
按ESC键可以退出编辑模式到一般命令模式。
(3) 命令行模式
在一般命令模式里按下:/?三个字母中的任意一个,会进入命令行模式。命令行在最下面显示,可以对vim的一些属性进行设置,也可以对文本进行处理。(退出也是在该模式)
三、操作(重点是多用,用多了就会了,以:/?开头的命令是在命令行模式下运行,其余都在一般命令模式下运行)
1. i :进入编辑模式
2. ESC :进入一般命令模式
3. h 或 向左键 :光标向左移动一个字符
4. j 或 向下键 :光标向下移动一个字符
5. k 或 向上键 :光标向上移动一个字符
6. l 或 向右键 :光标向右移动一个字符
7. n<Space> :n表示数字,按下数字后再按空格,光标会向右移动n个字符,该行字符不够则移动到下一行
8. 0 或 功能键[Home]:光标移动到本行开头(本行第一个字符前)
9. $ 或 功能键[End] :光标移动到本行末尾(本行最后一个字符前)
10. G :光标移动到最后一行
11. :n 或 nG :n为数字,光标移动到第n行
12. gg :光标移动到第一行,相当于1G
13. n<Enter> :n为数字,光标向下移动n行
14. /word :向光标之下寻找第一个值为word的字符串。
15. ?word :向光标之上寻找第一个值为word的字符串。
16. n :重复前一个查找操作
17. N :反向重复前一个查找操作
18. :n1,n2s/word1/word2/g :n1与n2为数字,在第n1行与n2行之间寻找word1这个字符串,并将该字符串替换为word2
19. :1,$s/word1/word2/g :将全文的word1替换为word2
20. :1,$s/word1/word2/gc :将全文的word1替换为word2,且在替换前要求用户确认。
21. v :选中文本
22. d :删除选中的文本
23. dd : 删除当前行
24. y :复制选中的文本
25. yy : 复制当前行
26. p : 将复制的数据在光标的下一行/下一个位置粘贴
27. u :撤销
28. Ctrl + r :取消撤销
29. 大于号 > :将选中的行整体向右缩进一次(如果只移动光标所在行,则无需选中)
30. 小于号 < :将选中的行整体向左缩进一次(如果只移动光标所在行,则无需选中)
31. :w :保存
32. :w! :强制保存
33. :q :退出
34. :q! :强制退出
35. :wq :保存并退出
36. :set paste :设置成粘贴模式,取消代码自动缩进
37. :set nopaste :取消粘贴模式,开启代码自动缩进
38. :set nu :显示行号
39. :set nonu :隐藏行号
40. gg=G :将全文代码格式化(gg其实起的作用是移动到文本开头)
41. ggdG : 将全文删除
42. :noh :关闭查找关键词高亮(查找时会将关键词添加高亮特效,可以用该命令取消那效果)
43. Ctrl + q :当vim卡死时,可以取消当前正在执行的命令
异常处理:
每次用vim编辑文件时,会自动创建一个.filename.swp的临时文件。
如果打开某个文件时,该文件的swp文件已存在,则会报错。此时解决办法有两种:
(1) 找到正在打开该文件的程序,并退出
(2) 直接删掉该swp文件即可
如有错误,请评论指点,谢谢
参考链接:https://www.acwing.com/file_system/file/content/whole/index/content/2855620/