从命令模式到插入模式的几种方法
i 光标不移动
I 光标移动到光标所在行首
a 光标往后移动一个字符
A 光标移动到光标所在行尾
o 光标所在行下新增一行
O 光标所在行上新增一行
- 扩展模式:
:q 退出
:q! 强制退出,丢弃做出的修改
:wq 保存退出
:x 保存退出
:wq! 对只读文件强行修改保存
:r file 把文件内容读入到当前文件中
:w file 把文件存入另一个文件中
:! com在不退出的情况下执行命令
:r! com 把命令的结果读入到当前文件中
:2 具体第2行
:2,10 第2行到第10行
删除第5行到第7行
:5,+2 第5行到第7行
. 表示当前行
$ 表示最后一行
:. , $ d 从当前行删除到最后一行
% 全文 = 1,$
- 命令模式
ZZ: 保存退出
ZQ:不保存退出
h向左j向下k向上l向右
数字3+h 向左移动3个字符
w:下一个单词的词首
e:当前或下一单词的词尾
b:当前或前一个单词的词首
数字3+w 向下跳3个单词
H:当前页页首
M:当前页页中间行
L:当前页页底
^: 跳转至行首的第一个非空白字符
0: 跳转至行首
$: 跳转至行尾
G:最后一行
1G, gg: 第一行
10G:跳到第10行
先输入:到扩展模式,输入20回车就在20行。
):下一句
(:上一句
}:下一段
{:上一段
Ctrl+f: 向文件尾部翻一屏
Ctrl+b: 向文件首部翻一屏
Ctrl+d: 向文件尾部翻半屏
Ctrl+u:向文件首部翻半屏
x: 删除光标处的字符
数字10+x:一次删除10个字符
xp:交换光标所在处的字符及其后面字符的位置
~:转换大小写
J:删除当前行后的换行符
r:替换光标所在处的字符,光标放在想要替换的字符上按r在按想要替换的字符。
R:切换成REPLACE模式
d: 删除命令,可结合光标跳转字符,实现范围删除
d$: 删除到行尾
d^:删除到非空行首
d0:删除到行首
dw:删除单个单词
de: 删除到下一个单词的词尾
db: 向前删除一个单词
dd:删除整行
数字3+dd直接删除3行
dG:从当前光标删除到文件的最后一行
D:从当前光标位置一直删除到行尾,留空行,等同于d$
y: 复制,行为相似于d命令
yy:复制行
数字3+yy: 复制3行
Y: 复制整行
p:缓冲区存的如果为整行,则粘贴当前光标所在行的下方;否则,则粘贴 至当前光标所在处的后面
P:缓冲区存的如果为整行,则粘贴当前光标所在行的上方;否则,则粘贴 至当前光标所在处的前面
c:删除后进入插入模式。
100iwang [ESC] 粘贴“wang”100次
gggUG 从行首到行尾全部变成大写字母
10Ggu20G 第10行到第20行变成小写字母
u撤销最近的更改
数字3+u撤销之前的3次更改
ctrl r取消之前的撤销
.重复前一次操作
数字3+.重复前一个3次操作
U 撤消光标落在这行后所有此行的更改(光标不移动到其他地方)
vim –b binaryfile 以二进制的方式打开文件
扩展命令模式下,利用xxd命令转换为可读的十六进制 :%!xxd
编辑二进制文件
扩展命令模式下,利用xxd命令转换回二进制 :%!xxd –r 保存退出
v面向字符 V 面向行 ctrl-v 面向块
>> ,<<可以实现首行缩进
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/104544