一、vim编辑器的三种模式
- 命令模式:默认模式,可以进行移动光标、替换、删除、复制、粘贴、撤销更改。
- 插入(编辑)模式:修改文本。
- 扩展的命令模式:可以进行地址界定、搜索、搜索替换、显示行号、引入文件内容、另存为、执行命令、读入命令的输出、保存退出等。
二、各模式之间的转换
命令模式转化为插入模式的方式:
- i:在光标所在处插入;
- I:在当前光标所在行的行首插入;
- a: 在光标所在处后面插入;
- A:在光标所在行的行尾插入;
- o:在当前光标所在行的下方打开一个新行;
- O:在当前光标所在行的上方打开一个新行。
退出
- wq:保存退出;
- wq!:强制保存退出,如果文件设置了只读,可以强制进行修改;
- q:不存盘退出,没有修改文件,只是读了一下文件;
- q!:改了文件,放弃对文件的修改。
三、命令模式下进行的操作
- 光标跳转:上、下、左、右方向键;
- 单词跳转:w
- 当前页跳转:H页首、M页中间行、L页底
- 行首行尾跳转: ^ 跳转至行首的第一个非空白字符;
0:跳转至真正的行首;$:跳转至行尾。 - 行间移动:1G第一行;G最后一行;#G跳转至第#行
- 替换:r
- 删除:dd
- 复制:yy
- 粘贴:p
- 撤销更改:u
四、扩展的命令模式下进行的操作
- 地址界定:#第#行;#,#从左侧#起至右侧#结尾的行;2,+3表示2到5行;. 当前行;$最后一行;%全文;/bin/,/halt/d支持正则表达式,表示以bin开始的行到以halt开始的行删除
- 写入文件内容和另存为:w file将范围内的行另存到指定文件中;
r file 在指定位置写入指定文件的内容 - 搜索:/向尾部查找;?向首部查找;n:与命令同方向;N:与命令反方向,如/root 表示搜索root这个单词
- 查找替换:s/要查找的内容/替换为的内容/修饰符,要查找的内容可以使用模式,但替换为的内容不能使用模式,但可以使用后向引用,还可以使用&引用,例如::1s/root/a&b/g 表示将root替换为arootb,&代表root
修饰符:i忽略大小写;g:全局替换
查找替换中的分隔符可以用其他字符,如@、# - 显示行号:set nu;取消行号:set nonu
- 和上一行自动对齐:set ai,取消set noai