adinxu
by adinxu
~1 分钟 阅读用时

分类

标签

vim键位图翻译

史上最全Vim快捷键键位图(入门到进阶)

文章目录

经典版

下面这个键位图应该是大家最常看见的经典版了。

classicclassic

对应的简体中文版

先放一个总的图
vi-vim-cheat-sheet-sch

分解图

其实经典版是一系列的入门教程键位图的组合结果,下面是不同编辑模式下的键位图。
ps:后面是我手工翻译的,本来还想用ps搞到图片上,但是有点麻烦,后面再说吧。

基本编辑模式

基本:
h j k l是vi/vim的方向键,使用他们就像使用普通的方向键。
i进入插入模式,光标会从方块编程竖线,你可以输入文字。使用Esc回到普通模式。
x删除当前字符,X删除当前字符左边那个字符
A附加模式,只不过是在当前行的最后附加
注意:插入模式非常想普通编辑器,你可以使用光标、导航键,删除等等。
进阶:
u回退最后一次操作。传统的vi只支持一层回退,但是vim可以无限回退。CTRL+R来重做(把回退的操作重新执行)。
0跳到硬行首,$跳到行尾。^跳到软行首,即第一个非空字符。
使用w b e来移动到下一单词。一个单词是一系列字母或标点的序列。
使用W B E移动到下一个真实单词,即非空字符。
使用R进入带有叠加光标的持续替换模式,输入将会一直覆盖已有字符。
:w后回车可以保存。:q后回车可以离开。注意敲:时的视图。

动作与重做

基础:
f后面跟任意键,移动光标到本行的下一个这个字符,相当于行内查找并定位。F同样功能,但是方向相反
tT也是这个功能,但是他们搜索到时把光标停在字符的前面
d是删除,后面跟任何动作,直接删除到动作到达的地方,比如dw删除到下一个单词的开头,df-删除到这行的下一个-。
c是修改,和d功能相似,但是删除完之后他会将你留在插入模式。
一些动作,例如jk是选择行为范围的-删除将会包含完整的开始和结束行
.重复上一次编辑操作:文字输入,删除,修改之类的。动作将在新地方被重新计算。
进阶:
在任何命令/动作前加上数量,将会重复他那么多次。
d2w将会删除到两个单词
d2t,将会删除到第二个逗号,但是不包含第二个逗号
2i将会将会重复插入你输入的文本当你按esc退出插入模式
重复按操作符(比如ccdd)将会对整行进行操作。
只有在vim中,v将会进入可视模式,移动光标,将会把范围内的文字高亮并选中,按一个操作将会操作可视范围选中的文本。
V进入行可视模式,他跟v很像,但是他是以行为单位选择
CTRL-v将会进行块列选择,就像notepad++的行编辑一样

复制和粘贴

基础:
y后跟任何动作来进行’抽取’(复制)
‘p’粘贴在后面(如果是字符范围的,粘贴到右边。如果是行范围的,粘贴到下面)
P粘贴在前面
yy拷贝整行
y同样工作于可视模式
进阶:
"a-z字符,如果在任何复制/删除/粘贴命令前被输入,将会选择对应寄存器
A-Z寄存器和小写寄存器类似,但是他们是往里附加内容
"*"+选择系统剪切板
o会在当前行的下一行插入一个空行,并进入插入模式
Oo类似,但他实在当前行的上面一行插入

搜索

基础:
/是基础的搜索动作。在斜杠后键入你想搜索的文本,然后敲回车。你可以在操作之后使用搜索动作,或者在可视模式使用。
?做同样的动作,但他是反向的
n重复在相同方向再次执行最后一次搜索。N类似,但是是反方向的。
需要注意的是,搜索是支持正则的
进阶:
以下两个很有用的动作只在vim有效:
*搜索处于光标下标示符(不是光标下的单个字母,而是标示符)
#*类似,但是是相反的方向

标记和宏

基础:
m后跟随a-z打书签
` (就是波浪号~底下的那个)后跟字符跳转到标签
'(单引号)后跟字符跳转到标签所在行的第一个非空字符位置
A-Z书签是全局的,a-z书签是每缓冲区的(意思应该是每文件)
.(点号和句号)跳转到最后修改的地方<br/> 进阶:<br/> 宏<br/> q后跟a-z开始录制宏<br/> 之后再跟一个q,停止录制<br/> @跟字符,播放这个宏<br/> @@`重复最后一次播放的宏

各种动作

%跳转到匹配的()[]
H M L跳转到屏幕的顶部,中间,底部
G跳转到文件尾,gg跳转到文件顶部。两者前面加行号跳转到行号。另一种办法是命令模式下直接敲行号。
- +跳转到前一行/下一行
K不是严格意义上的动作。跳转到光标下关键字的帮助信息:vim帮助,man手册之类的
( )跳转到当前句子的首尾
{ }跳转到上一个,下一个段落(跳转到上一个下一个空行)
[[跳转到前一个处于首行的{
]]跳转到后一个处于首行的{

各种命令

基础:
J将当前行和下一行组合为一行,或者所有可视模式选中的行
r跟一个字符替换光标下的字符
Cc$是一个作用,修改到行尾
Dd$一样,删除到行尾
Yyy一样,直接复制整行
s删除光标下的字符并进入插入模式
S删除整行进入插入模式
进阶:
&gt;及一个动作,缩进一行或多行
&lt;反缩进
=
所有这些操作都可以工作于可视模式,也可以在当前行重复缩进(&gt;&gt;)
~将光标下字符变为大写

其他

I到行首插入
a附加模式,插入到当前字符后
;重复最后一次f t F T动作
,以相反方向重复最后一次f t F T动作

其他版本

入门版

基本操作的入门版。图片模糊可以点击查看原图,下同。

进阶版

增强版
下图是一个更新时间较新的现代版,含有的信息也更丰富。

文字版

不熟的键位

基本编辑模式

X删除当前字符左边那个字符
u回退最后一次操作。传统的vi只支持一层回退,但是vim可以无限回退。CTRL+R来重做(把回退的操作重新执行)。
^跳到软行首,即第一个非空字符。
使用W B E移动到下一个真实单词,即非空字符。

动作与重做
F同样功能,但是方向相反
tT也是这个功能,但是他们搜索到时把光标停在字符的前面
c是修改,和d功能相似,但是删除完之后他会将你留在插入模式。
一些动作,例如jk是选择行为范围的-删除将会包含完整的开始和结束行
.重复上一次编辑操作:文字输入,删除,修改之类的。动作将在新地方被重新计算。
V进入行可视模式,他跟v很像,但是他是以行为单位选择
CTRL-v将会进行块列选择,就像notepad++的行编辑一样

复制和粘贴
"a-z字符,如果在任何复制/删除/粘贴命令前被输入,将会选择对应寄存器
A-Z寄存器和小写寄存器类似,但是他们是往里附加内容
"*"+选择系统剪切板

搜索
/是基础的搜索动作。在斜杠后键入你想搜索的文本,然后敲回车。你可以在操作之后使用搜索动作,或者在可视模式使用。
?做同样的动作,但他是反向的
n重复在相同方向再次执行最后一次搜索。N类似,但是是反方向的。
需要注意的是,搜索是支持正则的
*搜索处于光标下标示符(不是光标下的单个字母,而是标示符)
#*类似,但是是相反的方向

标记和宏
m后跟随a-z打书签
` (就是波浪号~底下的那个)后跟字符跳转到标签
'(单引号)后跟字符跳转到标签所在行的第一个非空字符位置
A-Z书签是全局的,a-z书签是每缓冲区的(意思应该是每文件)
.(点号和句号)跳转到最后修改的地方<br/> q后跟a-z开始录制宏<br/> 之后再跟一个q,停止录制<br/> @跟字符,播放这个宏<br/> @@`重复最后一次播放的宏

各种动作
%跳转到匹配的()[]
H M L跳转到屏幕的顶部,中间,底部
G跳转到文件尾,gg跳转到文件顶部。两者前面加行号跳转到行号。另一种办法是命令模式下直接敲行号。
- +跳转到前一行/下一行
K不是严格意义上的动作。跳转到光标下关键字的帮助信息:vim帮助,man手册之类的
( )跳转到当前句子的首尾
{ }跳转到上一个,下一个段落(跳转到上一个下一个空行)
[[跳转到前一个处于首行的{
]]跳转到后一个处于首行的{

各种命令:
J将当前行和下一行组合为一行,或者所有可视模式选中的行
Cc$是一个作用,修改到行尾
Dd$一样,删除到行尾
Yyy一样,直接复制整行
s删除光标下的字符并进入插入模式
S删除整行进入插入模式
&gt;及一个动作,缩进一行或多行
&lt;反缩进
=
所有这些操作都可以工作于可视模式,也可以在当前行重复缩进(&gt;&gt;)
~将光标下字符变为大写