文本编译器的作用:
Linux中最常用的文本编译器:
Vim常用工作模式:
命令模式、输入模式、末行模式、可视模式、替换模式
命令模式:这是Vim启动后的默认模式
用来输入文本
主要用来选择复制区块文本
主要用来设置vi编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作
一种特殊的输入模式
每个输入的字符都会覆盖文本中已经存在的字符
1、命令模式中的基本操作
2、末行模式中基本操作
vim -p 以标签页形式打开多个文件
:tabnew 增加一个标签
:tabc 关闭当前的tab
:tabo 关闭所有其他的tab
:tabs 查看所有打开的tab
:tabp 或gT 前一个
:tabn 或gt 后一个
多行缩进----------V 行可视模式
(先按大写V,然后选择需要缩进的行,最后按>)
选中多行
向右缩进>
向左缩进<
在VIM界面,执行shell命令:
进行末行模式,!命令
[root@rhel1 ~]# vi /home/text/file1
bbb bbb bbb
ddd ddd ddd
aaa aaa aaa
ccc ccc ccc
~
~
-- INSERT --
[root@rhel1 ~]# vi /home/text/file1
bbb bbb bbb
ddd ddd ddd
aaa aaa aaa
ccc ccc ccc
~
~
:e /text/file2
[root@rhel1 ~]# vi /home/text/file1
~
~
"/text/file2" [New File]
[root@rhel1 ~]# vi /home/text/file1
eee eee eee
~
~
:r /home/text/file1
[root@rhel1 ~]# vi /home/text/file1
eee eee eee
bbb bbb bbb
ddd ddd ddd
aaa aaa aaa
ccc ccc ccc
~
~
"/home/text/file1" 4L, 49C
[root@rhel1 ~]# vi /home/text/file1
# 在命令模式下使用复制、粘贴、删除等操作
aaa aaa aaa
bbb bbb bbb
ccc ccc ccc
ddd ddd ddd
eee eee eee
~
~
:wq
[root@rhel1 ~]# vim /home/text/file1 /text/file2
2 files to edit
bbb bbb bbb
ddd ddd ddd
aaa aaa aaa
ccc ccc ccc
~
~
"/home/text/file1" 4L, 49C
[root@rhel1 ~]# vim /home/text/file1 /text/file2
2 files to edit
bbb bbb bbb
ddd ddd ddd
aaa aaa aaa
ccc ccc ccc
~
:n
[root@rhel1 ~]# vim /home/text/file1 /text/file2
2 files to edit
aaa aaa aaa
bbb bbb bbb
ccc ccc ccc
ddd ddd ddd
eee eee eee
~
"/text/file2" 6L, 62C
[root@rhel1 ~]# vim /home/text/file1 /text/file2
2 files to edit
aaa aaa aaa
bbb bbb bbb
ccc ccc ccc
ddd ddd ddd
eee eee eee
~
:N
[root@rhel1 ~]# vim /home/text/file1 /text/file2
2 files to edit
bbb bbb bbb
ddd ddd ddd
aaa aaa aaa
ccc ccc ccc
~
"/home/text/file1" 4L, 49C
[root@rhel1 ~]# vim /home/text/file1 /text/file2
2 files to edit
bbb bbb bbb
ddd ddd ddd
aaa aaa aaa
ccc ccc ccc
~
:r /text/file2
[root@rhel1 ~]# vim /home/text/file1 /text/file2
2 files to edit
bbb bbb bbb
ddd ddd ddd
aaa aaa aaa
ccc ccc ccc
aaa aaa aaa
bbb bbb bbb
ccc ccc ccc
ddd ddd ddd
eee eee eee
~
"/text/file2" 6L, 62C
[root@rhel1 ~]# vim /home/text/file1 /text/file2
2 files to edit
1 bbb bbb bbb
2 ddd ddd ddd
3 aaa aaa aaa
4 ccc ccc ccc
5 aaa aaa aaa
6 bbb bbb bbb
7 ccc ccc ccc
8 ddd ddd ddd
9 eee eee eee
~
:set nu
复制3到6行到file1内容的末尾(在命令模式下,3G跳到第3行,再4yy从当前行复制4行,G跳到尾部,再p复制。)
[root@rhel1 ~]# vim /home/text/file1 /text/file2
2 files to edit
1 bbb bbb bbb
2 ddd ddd ddd
3 aaa aaa aaa
4 ccc ccc ccc
5 aaa aaa aaa
6 bbb bbb bbb
7 ccc ccc ccc
8 ddd ddd ddd
9 eee eee eee
10 aaa aaa aaa
11 ccc ccc ccc
12 aaa aaa aaa
13 bbb bbb bbb
~
4 more lines
[root@rhel1 ~]# vim /home/text/file1 /text/file2
2 files to edit
1 bbb bbb bbb
2 ddd ddd ddd
3 aaa aaa aaa
4 ccc ccc ccc
5 aaa aaa aaa
6 bbb bbb bbb
7 ccc ccc ccc
8 ddd ddd ddd
9 eee eee eee
10 aaa aaa aaa
11 ccc ccc ccc
12 aaa aaa aaa
13 bbb bbb bbb
~
:1,13 s/ccc/333
[root@rhel1 ~]# vim /home/text/file1 /text/file2
2 files to edit
1 bbb bbb bbb
2 ddd ddd ddd
3 aaa aaa aaa
4 ccc ccc ccc
5 aaa aaa aaa
6 bbb bbb bbb
7 ccc ccc ccc
8 ddd ddd ddd
9 eee eee eee
10 aaa aaa aaa
11 ccc ccc ccc
12 aaa aaa aaa
13 bbb bbb bbb
~
:1,13 s/aaa/111/g