vim介绍
vi编辑器:讲vim就必须提到vi编辑器,因为vim是它的升级版。
所有的Unix Like系统都会内建vi文本编辑器,很多个别软件的编辑接口都会主动呼叫vi,而且vi具有程序编辑的能力,可以主动以字体颜色辨别语法的正确性,编辑速度相当快。
而vim对于vi最大的改进就是对代码的着色能力,亦有些编程场景能够自动修正错误代码。
Vim之所以能得到广大厂商与用户的认可,原因在于Vim编辑器中设置了三种模式—命令模式、末行模式和编辑模式,每种模式分别又支持多种不同的命令快捷键,这大大提高了工作效率,而且用户在习惯之后也会觉得相当顺手。要想高效率地操作文本,就必须先搞清这三种模式的操作区别以及模式之间的切换方法。
三大模式
- 命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作
- 输入模式:正常的文本输入
- 末行模式:保存或退出文档,以及设置编辑环境
切换方法:
在每次运行Vim编辑器时,默认进入命令模式,此时需要先切换到输入模式后再进行文档编写工作,而每次在编写完文档后需要先返回命令模式,然后再进入末行模式,执行文档的保存或退出操作。在Vim中,无法直接从输入模式切换到末行模式
命令总结
每种命令一般都有两个或多个操作方法,这里仅展示常用的命令
命令模式
光标移动
- G 尾行首字
- gg 首行首字
- ^ 本行首字
- $ 本行尾字
- w 向后跳词
- b 向前跳词
- ↑、↓、←、→
复制、粘贴、删除
- yy 复制该行
- p 粘贴至下行
- P 粘贴至上行
- dd 删除该行
- x 删除光标处
- d^ 删除光标及之前
- d$ 删除光标及以后
[num]行数,可以是跳转行数,也可以是复制行数
如:5dd
表示自该行起删除5行
- u 撤销
内容查找
- /word 从头查找word
- ?word 从尾查找word
- n 定位下一个匹配
- N 定位上一个匹配
输入模式
- i 光标前插入
- I 光标移至第一个非空字符并插入
- a 光标后插入
- A 光标移至末尾并插入
- o 光标所在下一行插入
- O 光标所在上一行插入
- s 删除光标所在字符并插入
- S 删除光标所在行并插入
- [Esc] 退出至命令模式
末行模式
保存文件及退出vim
- :set nu 显示行号
- :set nonu 不显示行号
- :w /root/file
- :q! 强制退出
- :wq 保存退出
- :wq! 强制保存退出
文件内容替换
- :r /etc/file 读入文件
- : s /old/new 当前行中查找第一个"old"替换为"new"
- : s /old/new/g 所有"old"替换为"new"
- :n,m s/old/new/g n~m行替换
- :% s/old/new/g 整个文件替换
- : s /old/new/c 每个替换提示确认
- [Esc] 退出至命令模式