vim
1.什么是vim:
- 它是一个类似vi的文本编辑器/文本编辑工具。只是在vi的基础之上增添了很多的新 功能,vim被公认为是类vi编辑器中最好用的一个之一。
2.为什么一定要学习vim:
- vim在vi的基础之上所增加的新功能,可以有效的帮助工程师快速的排查问题。比 如为不同字段进行颜色的区分
- 很多系统都会内建vi编辑器,其他的文本编辑器不一定有。众多软件都会主动的调 用vi的接口。
3.三种模式
-
一般模式、编辑模式、命令模式
-
三种模式的转换关系
-
一般模式(默认模式)的快捷键
- 0或[HOME]移动到当前行的最前面的字符。
- $或[END]移动到当前行的行尾。
- Page Down 向下翻页
- Page UP 向上翻页
- G移动到当前文件的最后一行。
- nG表示移动到第n行。
- gg相当于输入了1G,表示移动到第一行。
- /word 表示向下查找单词"word"
- n在查找单词时,通过按n字母,可以重复进行查找。
- yy 表示复制一行(光标所在行)
- yG 表示光标所在的当前行到文件的最后一行内容全部复制。
- ygg 表示当光标所在行复制到文件的首行。
- y$ 表示复制当前行光标所在位到当前行的行尾。
- y0 表示复制当前行光标所在位到当前行的行首。
- p(小写)将已复制的数据粘贴到光标所在行的下一行
- P(大写)将已复制的数据粘贴到光标所在行的上一行。
- u复原前一个操作,类似于windows系统中的Ctrl+Z,表示撤销。
- Ctrl+r 恢复上一个操作。
- dd 表示删除当前行
- 表示从当前行删除到最后一行
- dgg 表示从当前行删除到文件的第一行。
- d0删除到当前行的最前面的字符。
- d$删除到当前行的行尾。
-
编辑模式的进入方式
字母 | 表示操作 |
---|---|
i | 表示从当前光标所在处进行插入 |
I | 从所在行的第一个非空白字符处插入 |
a | 从光标所在的下一个字符处插入 |
A | 从光标所在行的行尾处进行插入 |
o | 在光标所在处的下一行进行插入 |
O | 在光标所在处的上一行进行插入 |
r | 替换光标所在处的字符1次 |
R | 表示进入替换模式,直到用户主动退出为止 |
- 命令模式:
如何进入命令模式:
: / ? | 三个其中之一都能进入命令模式 |
---|
- :w [filename] 另存为filename
- :r [filename] 读取filename指定文件中的内容到光标所在的行。
- :n1,n2 w [filename] 将n1到n2行另存为filename :! command 临时切换到命令行模式下执行command命令。
例如 “:!find / -name Helllo.java”即可在vim当中执行命令。 - :wq 保存后离开
- :q 不保存离开(未改可以离开,如果修改了需要q!强制离开)
- :q! 不保存离开
- :set nu 显示行号 (number)
- :set nonu 取消显示行号 (noNumber)
- : s/word1/word2/g 在当前行将word1替换成word2(!!)
- :%s/word1/word2/g 在当前文件将word1替换成word2(!!)
- :n1,n2s/word1/word2/g在n1到n2行查找word1替换成word2 (n1、n2为数字)
- :10,$ s/word1/word2/g从第一行到最后一行查找word1替换成 word2
- :%s/word1/word2/gc 同上,在替换前确认是否替换。(!!!)只 能单行确认,需要逐个确认。