一、基本操作
移动光标
进入和退出
ESC | 正常模式 |
---|
:q! | 丢弃所做的改动并退出 |
:wq | 保存所做的改动并退出 |
基本认识
x | 删除光标所在位置的字符 |
---|
i | 插入文本 |
A | 在一行之后添加文本 |
二、命令操作
删除、撤销命令
d motion (一个操作符+一个动作),在动作前输入数字会使它重复多次。
dw | 从光标处删除至下一个单词起始处 |
---|
d$ | 从当前光标删除到行末 |
de | 从光标处删除至第一个单词的末尾 |
dd | 删除整行 |
2dd | 删除两行 |
2w | 使光标向前移动两个单词 |
3e | 使光标向前移动到第三个单词的末尾 |
0 | 移动光标到行首 |
u | 撤销最后执行的命令 |
U | 撤销对整行的修改 |
ctrl+r | 撤销掉撤销命令 |
d number(数字) motion
更改
c [number] motion
p | 将最后一次删除的内容置入光标的下一行 |
---|
r +字符 | 替换光标所在位置的字符 |
R | 连续替换多个字符 |
ce | 从光标处开始改变文本直到单词末尾 |
c$ | 从光标处改变整行 |
三、文件操作
查找
ctrl+g | 显示当前编辑的文件名和文件中光标位置 |
---|
G | 使光标跳转到文件最后一行 |
gg | 使光标跳转到文件第一行 |
ctrl+g | 使光标返回第一次按下时所在行 |
/+字符 | 光标跳转至该字符 |
?+字符 | 逆向查找 |
ctrl+o | 退回多步 |
ctrl+i | 跳转至新位置 |
% | 查找配对括号 |
:s/old/new/g | 将old替换为new |
:#,#s/old/new/g | #,#代表替换操作的若干行中首尾两行的行号 |
:%s/old/new/g | 替换整个文件中的每个匹配字符串 |
:%s/old/new/gc | 找到整个文件中的每个匹配字符串,并提示是否进行替换 |
外部命令
:!+外部命令 | 可执行该外部命令 |
---|
:w filename | 将改动保存到文件 |
v motion :w filename | 保存文件的部分内容 |
:r filename | 向当前文件中插入另外的文件的内容 |
o | 在光标的下方打开新的一行并进入插入模式 |
a | 在光标之后插入文本 |
set ic | 查找时忽略字母大小写 |
set is | 查找短语时显示部分匹配 |
set hls | 高亮显示所有的匹配短语 |
复制粘贴