一、vim常用操作
vim是一个功能强大的全屏幕文本编辑器,是Linux/Unix上最常用的文本编辑器,它的作用是建立、编辑、显示文本文件。
vim没有菜单,只有命令
vim有三种模式:命令模式、插入模式、编辑模式关系如下图所示:
1.插入命令
命令 | 作用 |
---|---|
i | 在光标所在字符前插入 |
a | 在光标所在字符后插入 |
I | 在光标所在行行首插入 |
A | 在光标所在行行尾插入 |
o | 在光标下插入新行 |
O | 在光标上插入新行 |
上述插入命令进行演示,假设光标在“明”字上,插入内容位“A“结果如下图:
# i:床前A明月光
# a:床前明A月光
# I:A床前明月光
# A:窗前明月光A
# o:窗前明月光
A
# O:A
窗前明月光
2.定位命令
命令 | 作用 |
---|---|
:set nu | 设置行号 |
:set nonu | 取消行号 |
gg | 到第一行 |
G | 到最后一行 |
nG | 到第n行 |
:n | 到第n行 |
$ | 移至行尾 |
0 | 移至行首 |
注:(1):n这个命令比nG直观
3.删除命令
命令 | 作用 |
---|---|
x | 删除光标所在处字符 |
nx | 删除光标所在处后n个字符 |
dd | 删除光标所在行,ndd删除n行 |
dG | 删除光标所在行到文件末尾内容 |
D | 删除光标所在处到行尾内容 |
:n1,n2d | 删除指定范围的行 |
4.复制和剪切命令
命令 | 作用 |
---|---|
yy | 复制当前行 |
nyy | 复制当前行一下n行 |
dd | 剪切当前行 |
ndd | 剪切当前行以下n行 |
p,P | 粘贴在当前光标所在行下或行上 |
注: 1.yy和pP的组合,是复制和粘贴。
2.dd和pP的组合,是剪切和粘贴。
5.替换和取消命令
命令 | 作用 |
---|---|
r | 取代光标所在处字符 |
R | 从光标所在处开始替换字符,按Esc结束 |
U | 取消上一级操作 |
6.搜索和搜索替换命令
命令 | 作用 |
---|---|
/string | 搜索指定字符串,搜索时忽略大小写 :set ic,不忽略大小写 :set noic |
n | 搜索指定字符串的下一个出现的位置 |
:%s/old/new/g | 全文替换指定字符串 |
: n1,n2s/old/new/g | 在一定范围内指定字符串 |
注: (1)%s 指全文替换。
(2)old表示文中的的字符串,new表示替代文中的字符串。
例如: :%s/小猫/小狗/g ,把文中的小猫替换成小狗。
(3)n1是起始行,n2是终始行。
例如: :2,3s/小猫/小狗/g,把文中第一行和第二行中的小猫替换成小狗。
(4)如果把:%s/old/new/g中的"g"换成"c",在每一次替换时会询问是否替换。
(5)在Linux的vim搜索字符串是严格区分大小写。
6.保存和退出命令
命令 | 作用 |
---|---|
:w | 保存修改(类似于ctrl+s) |
:w new_filename | 保存为指定文件 |
:wq | 保存修改并退出 |
ZZ | 快捷键保存修改并退出 |
:q! | 不保存修改退出 |
:wq! | 保存修改并退出(文件所有者及root可使用) |
注: (1)如果一个文件中所有者,所属组,其他人都没有写权限,如果root和所有者进入文件中修改了内容,则不能退出保存,因为没有写权限,但是wq!可以强制保存。