vim编辑器常用指令
2020-04-17
4 min read
一、一般指令模式(command mode):
1.1 移动游标方法
指令 | 代表含义 |
---|---|
[Ctrl]+[f] | 向下移动一页,相当于[Page Down] |
[Ctrl]+[b] | 向上移动一页,相当于[Page Up] |
0或者功能键[Home] | 移动到行最左侧 |
$或者功能键[End] | 移动到行最右侧 |
G |
移动到文档最后一列 |
nG | n代表数字,移动到第n行(可配合:set nu) |
gg |
移动到第一行,相当于1G |
n[Enter] | n为数字。游标向下移动n行 |
1.2 保存离开
指 令 | 代表含义 |
---|---|
:q! | 强制离开,不存储档案 |
:wq | 储存后离开 |
1.3 删除、复制和粘贴
指令 | 代表含义 |
---|---|
x,X | x为向后删除一个字符(相当于[del]),X为向前删除一个字符(相当于[backspace]) |
dd |
删除游标所在的一整行(可以理解为剪切,p对dd同样有效) |
ndd | n表示数字,删除游标所在的向下n行 |
yy |
复制游标所在行 |
nyy | n表示数字,复制游标所在的向下n行 |
p ,P |
p为粘贴插入到游标下一行,原始的文档向后推,P为上一行 |
u |
复原上一个动作(撤销) |
Ctrl+r | 重复上一个动作 |
. |
小数点,重复上一个动作 |
1.4 搜索与替换
指令 | 代表含义 |
---|---|
/word | 从光标处开始向下 查找名为word的字符串 |
?word | 从光标处开始向上 查找名为word的字符串 |
n | 重复上一个搜索动作 |
N | 与n功能相反(反向搜索) |
:n1,n2s/word1/word2/g | n1与n2为数字。在第n1与n2列之间寻找word1这个字串,并将该字串取代为word2 !举例来说,在100到200列之间搜寻vim并取代为VIM则 :100,200s/vim/VIM/g |
:1,$s/word1/word2/g | 从第一列到最后一列寻找word1字串,并将该字串取代为word2 |
:1,$s/word1/word2/gc | 从第一列到最后一列寻找word1字串,并将该字串取代为word2 ,且在取代前显示提示字元给使用者确认(confirm)是否需要取代 |
😒/old/new/ | 用old替换new,替换当前行的第一个匹配 |
😒/old/new/g | 用old替换new,替换当前行的所有匹配 |
:%s/old/new/ | 用old替换new,替换所有行的第一个匹配 |
:%s/old/new/g | 用old替换new,替换整个文件的所有匹配 |
1.5 撤销与重做
指令 | 代表含义 |
---|---|
u | 撤销(undo) |
U | 撤销对整行的操作 |
1.6 区块选择操作
指令 | 代表含义 |
---|---|
v | 字元选择,会将游标经过的地方反白选择! |
V | 列选择,会将游标经过的列反白选择! |
Ctrl+v | 区块选择,可以用长方形的方式选择资料 |
y | 将反白的地方复制起来 |
d | 将反白的地方删除掉 |
p | 将刚刚复制的区块,在游标所在处贴上! |
二、一般指令模式切换到编辑模式:
指令 | 代表含义 |
---|---|
i或I |
进入插入模式(Insert mode):i为『从目前游标所在处插入』, I为『在目前所在列的第一个非空白字元处开始插入』。 |
a或A |
进入插入模式(Insert mode):a为『从目前游标所在的下一个字元处开始插入』, A为『从游标所在列的最后一个字元处开始插入』。 |
o或O |
进入插入模式(Insert mode):这是英文字母o的大小写。o为『在目前游标所在的下一列处插入新的一列』; O为在目前游标所在处的上一列插入新的一列! |
r或R |
进入取代模式(Replace mode):r只会取代游标所在的那一个字元一次;R会一直取代游标所在的文字,直到按下ESC为止; |
vim编辑器页面设置
指令 | 代表含义 |
---|---|
:set nu |
设置vim编辑器显示行号 |
:set nonu |
取消行号 |