在Linux和Mac系统下,vim是很强大也很热门的编辑器,如果掌握了它,你在命令行中修改文本或是代码就会异常方便。
vim有三种模式
这三种模式分别是:命令模式,输入模式,末行模式。
当我们使用vim打开一个文本时,进入的是命令模式。它们之间可以通过某些按键进行转换。如图:
vim用熟了之后非常简单,下面总结一下它的用法。
使用vim打开一个文件
我在之前先新建了一个test.txt的文件,里面随便输入一些内容,方便进行测试。
现在我们就可以使用 vim test.txt 命令来打开文件了。
顺便说一句,vim test.txt这个命令要分成两种情况来说,当test.txt文件存在时,会直接打开,如果不存在,那么就会先创建它再打开。
查找
有时我们要查找的这个文本文件可能会有很多行,而我们可能会需要通过关键字来查找,vim提供了/和?这个字符进入到查找模式,方便我们找到关键字。
先说一下这两个字符都是查找模式,/是前向后找,?是反向查找,也就是从后向前。
比如,我想查找关键字“jtg”在哪里,那就输入/jtg即可。
然后我们发现,“jtg”被高亮标识出来了。
如果你有多个“jtg”这样的关键字,输入n,光标就会跳转到下一个"jtg"的地方,输入N就会跳回到上一个关键字的地方。
再比如,你看着高亮不爽,也可以关闭高亮状态,输入:noh即可。
这样被高亮的文本就回归本色了。
我的测试文件只有几行,可是实际项目中的文本可能有成千上万行,如果我们能标记处行号就能更快更准确的定位了吧?vim当然帮你考虑好了。输入:set nu即可。
进入编辑模式
有三个快捷键可以进入编辑模式,aio
- a,在光标的前面进入编辑模式。
- i,在光标当前位置进入编辑模式。
-
o,在光标下面一行进入编辑模式。
知道一个能进入编辑模式就够了,花里胡哨。
退出编辑模式
如果你在编辑模式中,终端最下面会有一个INSERT标识,提示你还在编辑模式中。但是你编辑完了,需要按一下ESC键,退出编辑模式,然后再决定是直接退出还是保存并退出,这就看你心情了。
编辑文本
vim中提供了非常丰富的编辑命令,几乎可以任意的修改文件,所以你不用都会,只学一些日常能用到的就OK。
- dd,删除光标所在的一整行
- yy,复制光标所在的一整行
- p,将之前删除或者复制过的一整行复制到光标后面
- u,撤销上一步操作
- :s/a/b,将光标所在行第一个a换成b
- :s/a/b/g,将光标所在行所有的a换成b
- :s%/a/b/g,将全文的a换成b
OK,到此为止,你的日常vim操作就没什么问题了。
等等,还有保存,退出没说呢。
保存,退出
当我们修改了文件后,如果你想保存并退出,输入:wq。
如果你想直接退出,放弃保存,输入:q!
如果你想先保存一下当前的更改,然后再继续更改的话,输入:w。推荐这样做,改一步保存一下,否则会因为你的失误会让你痛不欲生。