VIM常用快捷键汇总
四种模式简单介绍
- 正常模式:启动vim默认处于正常模式,其他模式下,按ESC键进入正常模式;
- 插入模式:即写入内容情况下的模式,按i o a等键进入插入模式;
- 命令模式:在正常模式中,按下:(冒号)键,会进入命令模式,该模式下执行一些输入并执行一些vim或插件提供的指令;
- 可视化模式:快速选中一块区域,并执行一些操作,比如删除、复制、替换等;
Ⅰ、正常模式(normal-mode)
打开Vim都是正常模式。在任何模式下,只要按下 Esc 键就可以返回正常模式
- 保存或退出(编辑模式下先按ESC)
:wq或:x 保存内容,并退出v(加上感叹号是强制,比如:wq!)
:q! 不保存,强制退出
:w 写入到当前文件,但不退出
:w filename 将当前的修改保存到其他文件
- 删除
dd 删除光标所在行,并把删除的行存到剪贴板里
d0 删除光标所在行前面的字符
d$ 删除光标所在行后面的字符(D同样的效果)
x/del 删除光标所在字符
X 删除光标前的一个字符
- 复制
yy 复制光标所在的行
6yy 向下复制6行(包括当前行)
y 在visual模式下,复制选中的内容
- 粘贴
p 粘贴在光标的下一行
P 粘贴在光标的上一行
- 恢复
u 撤销到上一步操作
ctrl+r 恢复到上一步操作
- 移动光标
0 光标移动当前行首(同home效果)
$ 光标移动当前行位(同end效果)
:0 光标移动到文本第一行的行首
:$ 光标移动到文本最后一行的行首
- 替换
:%s/123/456/g 全局替换123为456
:s/123/456/g 当前行替换
- 查找
/123 按回车后,n向下,N向上(c大小写不敏感,C大小写敏感)
- 快速清空文件内容
:%d
gg 将光标移至行首,然后执行dG
Ⅱ、插入模式(insert-mode)
插入模式则用来向文本中添加内容的
- i 光标前插入
- a 光标后插入
- o 当前光标下一行插入
- O 当前光标上一行插入
- A 行尾插入
- S 删除光标所在行,并进入插入模式
Ⅲ、命令模式(command-mode)
命令模式则多用于操作文本文件(按:即是从正常模式进入命令模式)
- 保存内容 :wq!或者 :x
- 退出编辑且不保存内容 :q!
- 保存文件但不退出vi :w
将光标移动到文本内容行首 :0
将光标移动到文本内容行尾 :$
将光标定位到35行 :35
查找字符串 /abc 或者 ?abc (向上/向下搜索 按 N/n)
显示行号 :set nu
取消行号 :set nonu / set nu!
多行注释:
进入命令行模式,按ctrl + v进入 visual block模式,然后按j, 或者k选中多行,把需要注释的行标记起来
按大写字母I,再插入注释符,例如//
按esc键就会全部注释了
取消多行注释:
进入命令行模式,按ctrl + v进入 visual block模式,按字母l横向选中列的个数,例如 // 需要选中2列
按字母j,或者k选中注释符号
按d键就可全部取消注释
Ⅳ、可视模式(visual-mode)
可视模式,相当于高亮选取文本后的普通模式。有2种选中的方式
① ctrl + v 按单个字符,选中块内容
- d 快速选中内容,并删除
- y --> p 快速选中内容,y复制,p粘贴(粘贴到光标后)
② shift + v 按整行,选中块内容
- d 快速选中行,并删除
- y --> p 快速选中行内容,y复制,p粘贴(粘贴到下一行)
V 快速清空文件内容的2种方式: