一、什么是vim编辑器
vim编辑器 是一个功能强大、高度可定制的文本编辑器,被广泛用于程序开发和系统管理等领域。
vim 是linux系统自带的,vim是vi的升级版本。
1、命令语法:
命令语法:
命令 选项 文件名
vim 文件名不存在 是新建 # 不存在就是新建
vim 文件名存在 是修改 # 存在就是修改
常用选项
+ (数字) # 加数字,代表光标默认在数字行的行首; 不加数字,只要有单独一个加号的话,光标默认在文件的最后。
vim +/^root # 光标落在以root开头的文件内容
!vim # 打开上一次执行的文件
2、退出vim编辑器命令:
先敲 esc
再敲 英文的冒号:
再敲 wq # w是保存,如果不需要保存,则直接点q
最后 点回车
二、vim编辑器的三种模式
1、命令模式
命令模式是进入编辑器时默认的模式 。该模式的主要作用是:光标移动、复制、粘贴、删除等操作。
下面是命令模式的基础快捷键:
| 类型 | 选项 | 备注说明 |
|---|---|---|
| G 行 | 数字 G | 跳转到数字行 |
| G | 最后一行 | |
| 1 G | 第一行 | |
| gg | 第一行 | |
| w 单词 | w | 单词间进行跳转 |
| 5 w | 直接跳过5个单词 | |
| y 复制 | y | 复制 |
| yy | 复制一行 | |
| yw | 复制一个单词 | |
| 10 yy | 复制10行 | |
| p 粘贴 | P(大P) | 在光标上一行粘贴 |
| p(小) | 在光标下一行粘贴 | |
| u | 撤回 | |
| ctrl+r | 取消撤回 | |
| d 剪切 | dd | 剪切,删除 |
| 10 dd | 剪切10行 | |
| dw | 剪切一个单词 | |
| Z 退出 | ZZ(大写) | 保存并退出 |
| ZQ | 不保存 退出 | |
| M | 跳转到当前页面的中间行 | |
| 特殊字符 | ^ | 跳转到本行行首 的第一个非空白字符 |
| 0或home键 | 跳转到本行行首 | |
| $或end键 | 跳转到本行行尾 | |
| x(小写) | 剪切一个字符 | |
| ~(波浪符) | 大小写转换 | |
| r | 替换单个字符 | |
| R | 替换模式,可以一直替换 | |
| J(大) | 合并两行(删除当前行后的换行符) |
2、输入模式
在命令模式中,按 i 键 , 可以切换到输入模式,输入模式的主要作用是:可以编辑你的文件,插入文字或者书写文字。
2.1 如何进入输入模式
小写 i 、 o 、 a
大写 I 、 O 、 A
2.2 如何退出输入模式
按esc退出。
3、末行模式
3.1 末行模式
在命令模式中,按冒号 : 键 可以进入末行模式。
作用是:可以保存、查找替换,设置默认的参数等
如何退回到命令模式:也是按esc退出。
注意: 输入模式 和 末行模式 之间,是不能直接进行切换的,中间要经过默认的命令模式。
末行模式快捷键:
| 快捷键 | 功能描述 |
|---|---|
| :q | 退出不保存 |
| :q! | 强制退出不保存 |
| :w | 保存 |
| :wq :x | 保存并退出 |
| / (区分大小写) | 查找 |
| :e 其他文件名(如果已修改需要加e!) | 打开新文件进行编辑 |
| # d | 删除 第#行 |
| #,# d | 删除#到#行 |
| :set nu | 显示行号 |
| :set nonu | 不显示行号 |
| :set cul | 光标所在行有下划线 |
| :set nocul | 光标所在行取消下划线 |
| no hl | 取消高亮 |
| :set ai | 对齐 回车后和上一行对齐 |
| set key=password (大X) | 加密码 |
| set key=空白 | 取消密码 |
| .!命令 (who,date ) | 将date命令插入当前行注意会覆盖当前行 |
3.2 替换模式
替换模式的快捷键:
| 快捷键 | 功能描述 |
|---|---|
| r | 替换单个字符 |
| R | 替换模式,可以一直替换 |
如何永久性的设置vim配置文件:
cd ~ #切换到家目录
vim .vimrc #新建.vimrc文件
set nu #设置显示行号
set ai #设置自动缩进,与上一行的缩进相同
set ts=4 #设置tab键宽度为四个空格
set cul #突出显示当前行
3.3 查找替换
命令语法:
范围 s /旧字符/新字符/修饰符 # s就是查找
1、范围:
| 范围符号 | 功能描述 |
|---|---|
| 不写 | 默认处理光标所在行 |
| % | 全文 |
| $ | 最后一行 |
| $-1 | 倒数第二行 |
| n | n代表数字 第n行 |
| 3,10 | 3到10行 |
| . | 当前行 |
| 2,+3 | 2到5行,2往后加3行 |
2、分隔符、字符
/// 就是分隔符,也可以用@@@,或###
2.1 旧字符可以使用正则表达式
2.2 新字符必须是确定的字符。
2.3 修饰符:
- g 全局替换 # 不加g 就是默认只替换第一个。
- i 忽略大小写
- c 替换前询问是否需要替换
4、可视化模式
如何进入到可视化模式:ctrl+v
| 快捷键 | 功能描述 | 全称 |
|---|---|---|
| v | 面向字符 | visual |
| V | 面向整行 | visual line |
| ctrl+V(大写) | 面向块 | visual block |
最后,附上一张vim快捷键的键盘图,仅供参考。