初识 vi/vim 文本编辑器
1.vi 和 vim 相同,都是文本编辑器,在 vi 模式下可以查看文本,编辑文本,是 Linux 最常用的命令,vi 模式下分为三部分,第一部分一般模式,在一般模式中可以进行搜索字符等按键操作,按下 i,o,a任意一个字符就可以进入编辑模式,按 ESC 回到一般模式,编辑模式下可以对文本内容进行编辑,按下 : ,/ ,?可以进入命令行模式,可以选择按 wq 保存退出等命令操作,详细内容如下。
vi 按键表
1.一般模式
光标的移动
按 键
意 义
h 或 ←
光标向左移动一个字符,可跟数字组合,如10 ←或h 代表向左移动10个字符
j 或 ↓
光标向下移动一个字符,可跟数字组合
k 或 ↑
光标向上移动一个字符,可跟数字组合
i 或 →
光标向右移动一个字符,可跟数字组合
[page up] 或
[ctrl]+b
上一页
[page down] 或 [ctrl]+f
下一页
[ctrl]+d
向下移动半页
[ctrl]+u
向上移动半页
光标移动到非空格的下一行
-
光标移动到非空格的上一行
n+[space]
输入数字后按下空格代表向右移动 n 个字符
0 或 [Home]
光标移动到行首
$ 或 [End]
光标移动到行尾
H
光标移动到屏幕显示的第一行的第一个字符处
M
光标移动到屏幕显示的中间行的第一个字符处
L
光标移动到屏幕显示的最后一行的第一个字符处
G
移动到文本的最后一行
n+G
移到文本的第n行
gg
移动到文本的第一行
n+[Enter]
光标向下移动n 行
搜索操作
按 键
意 义
/字符串
向下搜索字符串
?字符串
向上搜索字符串
n
向下查找符合搜索的字符
N
反向查找符合搜索的字符
:n1,n2s/string1/string2/g
在n1和n2之间搜索string1字符串,并将 string1替换为 string 2
:1,$s/string1/string2/g
在第一行和最后一行搜索 string1字符串,并将 string1替换为 string 2
:1,$s/string1/string2/gc
在第一行和最后一行搜索 string1字符串,并将 string1替换为 string 2,替换前需要客户确认( replace with string2 (y/n/a/q/l/^E/^Y)?)
删除/复制/粘贴等操作
按 键
意 义
x 或 X
x代表向后删除一个字符[del],X代表向前删除一个字符[backspace]
nx
向后连续删除n个字符
dd
删除光标所在的一行
ndd
删除光标向下的n行(包括光标所在的一行)
d1G
删除光标所在的一行到第一行的内容
dG
删除光标所在的一行到最后一行的内容
d$
删除光标所在的字符到这一行的最后一个字符的内容
d0
删除这一行的第一个字符到光标所在字符的内容
yy
复制光标所在的一行
nyy
复制光标所在的一行到第n行的内容
y1G
复制光标所在的一行到第一行的内容
yG
复制光标所在的一行到最后一行的内容
y0
复制光标所在的字符到行首的字符
y$
复制光标所在的字符到行尾的字符
p
将光标在的那一行内容复制粘贴到下一行
P
将光标在的那一行内容复制粘贴到上一行
u
复原操作,相当于撤回
.
重复上一个操作
c
重复删除多个数据,例如向下删除3行[10cj]
[ctrl]+r
重做上一个动作
J
将光标所在的一行与下一行结合
2.编辑模式
按 键
意 义
i
进入编辑模式
a
进入编辑模式
o
进入编辑模式
r
进入编辑模式
[ESB]
退出编辑模式,进入一般模式
3.命令行模式
按 键
意 义
:w
将编辑的数据写入磁盘
:w!
强行写入
:q
离开
:q!
不保存强制离开
:wq
保存并退出
ZZ
如果有改动则保存退出,如果没有改动就直接退出
:w[filename]
将编辑的内容另存为 filename 文件
:r[filename]
将filename的内容加载进光标后
:n1,n2 w[filwname]
将n1到n2的内容保存为 filename
:!command
暂时回到命令模式,执行 command 命令
:set nu
设置行号
:set nonu
取消行号
Linux-- 文件编辑器 vi/vim(2)内容见: