Vim 快捷键速查表
Linux 中国 https://linux.cn/
本文是 Vim 用户指南 系列的其中一篇:
- Vim 初学者入门指南
- Vim 快捷键速查表
- 5 个针对有经验用户的 Vim 技巧
- 3 个针对高级用户的 Vim 编辑器实用技巧
Vim 编辑器是一个基于命令行的工具,是传奇编辑器 vi 的增强版。尽管图形界面的富文本编辑有很多,但是熟悉 Vim 对于每一位 Linux 的使用者都能有所帮助——无论你是经验丰富的系统管理员,还是刚上手树莓派的新手用户。
这个轻量级的编辑器是个非常强大的工具。在有经验的使用者手中,它能完成不可思议的任务。除了常规的文本编辑功能以外,它还支持一些进阶特性。例如,基于正则表达式的搜索和替换、编码转换,以及语法高亮、代码折叠等的编程特性。
使用 Vim 时有一个非常重要的一点需要注意,那就是按键的功能取决于编辑器当前的“模式”。例如,在“普通模式”输入字母j
时,光标会向下移动一行。而当你在“插入模式”下输入字符,则只是正常的文字录入。
下面就是速查表,以便于你充分利用 Vim。
基本操作
快捷键 | 功能 |
---|---|
Esc
|
从当前模式转换到“普通模式”。所有的键对应到命令。 |
i
|
“插入模式”用于插入文字。回归按键的本职工作。 |
:
|
“命令行模式” Vim 希望你输入类似于保存该文档命令的地方。 |
方向键
快捷键 | 功能 |
---|---|
h
|
光标向左移动一个字符 |
j 或 Ctrl + J
|
光标向下移动一行 |
k 或 Ctrl + P
|
光标向上移动一行 |
l
|
光标向右移动一个字符 |
0
|
(数字 0)移动光标至本行开头 |
$
|
移动光标至本行末尾 |
^
|
移动光标至本行第一个非空字符处 |
w
|
向前移动一个词 (上一个字母和数字组成的词之后) |
W
|
向前移动一个词 (以空格分隔的词) |
5w
|
向前移动五个词 |
b
|
向后移动一个词 (下一个字母和数字组成的词之前) |
B
|
向后移动一个词 (以空格分隔的词) |
5b
|
向后移动五个词 |
G
|
移动至文件末尾 |
gg
|
移动至文件开头 |
浏览文档
快捷键 | 功能 |
---|---|
(
|
跳转到上一句 |
)
|
跳转到下一句 |
{
|
跳转到上一段 |
}
|
跳转到下一段 |
[[
|
跳转到上一部分 |
]]
|
跳转到下一部分 |
[]
|
跳转到上一部分的末尾 |
][
|
跳转到上一部分的开头 |
插入文本
快捷键 | 功能 |
---|---|
a
|
在光标后插入文本 |
A
|
在行末插入文本 |
i
|
在光标前插入文本 |
o
|
(小写字母 o)在光标下方新开一行 |
O
|
(大写字母 O)在光标上方新开一行 |
特殊插入
快捷键 | 功能 |
---|---|
:r [filename]
|
在光标下方插入文件 [filename] 的内容 |
:r ![command]
|
执行命令 [command] ,并将输出插入至光标下方 |
删除文本
快捷键 | 功能 |
---|---|
x
|
删除光标处字符 |
dw
|
删除一个词 |
d0
|
删至行首 |
d$
|
删至行末 |
d)
|
删至句末 |
dgg
|
删至文件开头 |
dG
|
删至文件末尾 |
dd
|
删除该行 |
3dd
|
删除三行 |
简单替换文本
快捷键 | 功能 |
---|---|
r{text}
|
将光标处的字符替换成 {text} |
R
|
进入覆写模式,输入的字符将替换原有的字符 |
复制/粘贴文本
快捷键 | 功能 |
---|---|
yy
|
复制当前行至存储缓冲区 |
["x]yy
|
复制当前行至寄存器 x |
p
|
在当前行之后粘贴存储缓冲区中的内容 |
P
|
在当前行之前粘贴存储缓冲区中的内容 |
["x]p
|
在当前行之后粘贴寄存器 x 中的内容 |
["x]P
|
在当前行之前粘贴寄存器 x 中的内容 |
撤销/重做操作
快捷键 | 功能 |
---|---|
u
|
撤销最后的操作 撤销输入 |
Ctrl+r
|
重做最后撤销的操作 |
搜索和替换
快捷键 | 功能 |
---|---|
/search_text
|
检索文档,在文档后面的部分搜索 search_text |
?search_text
|
检索文档,在文档前面的部分搜索 search_text |
n
|
移动到后一个检索结果 |
N
|
移动到前一个检索结果 |
:%s/original/replacement
|
检索第一个 “original” 字符串并将其替换成 “replacement” |
:%s/original/replacement/g
|
检索并将所有的 “original” 替换为 “replacement” |
:%s/original/replacement/gc
|
检索出所有的 “original” 字符串,但在替换成 “replacement” 前,先询问是否替换 |
书签
快捷键 | 功能 |
---|---|
m {a-zA-Z}
|
在当前光标位置设置书签,书签名可用一个大小写字母({a-zA-Z}) |
:marks
|
列出所有书签 |
{a-zA-Z}
|
跳转到书签 {a-zA-Z} |
选择文本
快捷键 | 功能 |
---|---|
v
|
进入逐字可视模式 |
V
|
进入逐行可视模式 |
Esc
|
退出可视模式 |
改动选中文本
快捷键 | 功能 |
---|---|
~
|
切换大小写 |
d
|
删除一个词 |
c
|
变更 |
y
|
复制 |
>
|
右移 |
<
|
左移 |
!
|
通过外部命令进行过滤 |
保存并退出
快捷键 | 功能 |
---|---|
:q
|
退出 Vim,如果文件已被修改,将退出失败 |
:w
|
保存文件 |
:w new_name
|
用 new_name 作为文件名保存文件 |
:wq
|
保存文件并退出 Vim |
:q!
|
退出 Vim,不保存文件改动 |
ZZ
|
退出 Vim,如果文件被改动过,保存改动内容 |
ZQ
|
与 :q! 相同,退出 Vim,不保存文件改动 |
下载 Vim 快捷键速查表
Vim 快捷键速查表相关推荐
- Tmux 快捷键 速查表 简明教程
网址:https://gist.github.com/ryerh/14b7c24dfd623ef8edc7 注意:本文内容适用于 Tmux 2.3 及以上的版本,但是绝大部分的特性低版本也都适用,鼠标 ...
- 计算机exsl表f4代表锁定,Excel快捷键速查表.doc
Excel快捷键速查表.doc Excel 2007快捷键速查表 序号快捷键功能1Alt+'打开[样式]对话框.2Alt+↓打开选择列表.3Alt+A切换到[数据]菜单选项卡中.4Alt+Backsp ...
- vim移动、定位命令与快捷键速查表(简练通俗)
光标位置移动(方向) 位置 键 使用频率 左 h ★★★★★★ 下 j ★★★★★★ 上 k ★★★★★★ 右 l ★★★★★★ 注:也可用小键盘区的方向键移动光标方向,但不建议,因为离得太远了 光标 ...
- Linux系统运维人员常用速查表
Linux系统运维人员常用速查表 walkingcloud 2020-08-09 19:55:41 Linux系统运维人员常用速查表 1.awk速查表 2.bash速查表 3.firewall-cmd ...
- 一份火爆国外的PyCharm快捷键和Python代码速查表
各位小伙伴们,还在为记不住API发愁吗,哈哈哈,最近发现了国外大师整理了一份Python代码速查表和Pycharm快捷键sheet,火爆国外,这里分享给大家. 这个是一份Python代码速查表 下面的 ...
- 火爆国外的一份PyCharm快捷键和Python代码速查表
各位猿们,还在为记不住API发愁吗,哈哈哈,最近发现了国外大师整理了一份Python代码速查表和Pycharm快捷键sheet,火爆国外,这里分享给大家. 这个是一份Python代码速查表 下面的宝藏 ...
- 15张Vim速查表-帮你提高N倍效率
作者:杨玉杰 来源:http://www.jianshu.com/p/6aa2e0e39f99 去年上半年开始全面使用linux进行开发和娱乐了,现在已经回不去windows了. 话归正传,在Linu ...
- 分享超全的 Linux 渗透测试命令速查表
如下是一份 Linux 机器的渗透测试速查表,是在后期开发期间或者执行命令注入等操作时的一些典型命令,设计为测试人员进行本地枚举检查之用. 此外,你还可以从这儿阅读到许多关于渗透测试的文章. 命令 描 ...
- Python开发资源速查表
Python开发资源速查表 Python实现算法和设计模式 algorithms - Python的一个算法模块. PyPattyrn - 一个用于实现常见设计模式的简单而有效的库. python-p ...
最新文章
- 2018-4-7 差分进化算法
- 【ACM】杭电OJ 2028
- c++ 开方_刷屏时尚圈!The Story Shoulder稳坐风尚C位的背后究竟有什么奇妙魔力?...
- delphi 串口通信发送_STM32第五章串口通讯详解
- n9009 Android5.0内核,三星N9009(Galaxy Note 3 电信版 Android 5.0)刷Recovery教程
- Linux——查看硬件配置命令
- 想做硬件开发的人员必看
- [视频演示].NET Core开发的iNeuOS物联网平台,实现从设备PLC、云平台、移动APP数据链路闭环...
- CF1039E-Summer Oenothera Exhibition【LCT,根号分治】
- Jmeter测试普通java类说明
- 1470A. Strange Birthday Party
- django 1.8 官方文档翻译: 3-3-1 文件上传
- 小白的java学习之路 “ 选择结构(一)”
- Java中9大内置基本数据类型Class实例和数组的Class实例(转载)
- mysql游标嵌套怎么写,mysql游标和嵌套游标
- Java编译运行命令
- CPDA|数据分析师成长之路如何起步?
- matlab调取excel非线性拟合,用matlab实现非线性曲线拟合_matlab非线性曲线拟合
- 强者的成功法则:受益一生的书单
- MATLAB求余运算