一、vim编辑器的使用
1.vim的启动
格式:vim [文件名]
[root@sclang ~]# vim file.txt
2.vim的退出
格式::[命令操作符]
:w #保存
:w filename #另存为filename
:q #退出
:wq #保存退出
:wq filename #另存为filename并退出
:x #保存退出,与:wq!功能相同
注:
上述命令操作符皆可在后加 ! 强制执行
如::q! 表示强制退出
3.vim的工作模式
vim有三种基本的工作模式:普通模式、插入模式、命令模式
3.1 普通模式
进入vim编辑器时,默认为普通模式。进入该模式后只能输入编辑命令,
而不能进行文本的录入。
3.2 插入模式
在普通模式下按相应的命令即可进入插入模式:插入( i )、追加( a )、打开( o )。
在插入模式下,用户所输入的内容会被保存显示到屏幕上。若要退出插入模式,
可直接按Esc键。
3.3 命令模式
在普通模式下,按下 “:”(分号)即可进入到命令模式。
此时窗口的最后一行会显示一个“:”来作为命令模式的提示符,等待用户输入命令。
若需退出命令模式可在使用退格键删除完所有命令后再次按下退格即可回到普通模式。
4.使用vim命令
4.1 普通模式下命令说明
4.1.1光标移动
命令 | 功能 |
---|---|
n[space] | n是数字,光标向右移动n个字符 |
n[Enter] | n是数字,光标向下移动n行 |
0或Home | 移动到本行的最前面字符处 |
$或End | 移动到本行最后面字符处 |
G | 移动到文件的最后一行处 |
nG | n是数字,移动到文件的第n行 |
gg | 移动到文件的第一行,相当于1G |
4.1.2 查找与替换
命令 | 功能 |
---|---|
/word | 从光标处向下查找名为word的字符串。注:word为要查找的字符串 |
?word | 从光标处向上查找名为word的字符串。注:word为要查找的字符串 |
n | 重复上一次的查找操作 |
N | 反向重复上一次的查找操作 |
:n1,n2 s/word1/word2/g | n1、n2为数字,在第n1~n2行中查找word1字符串,并将该字符串替换为word2 |
:1,$ s/word1/word2/g | 从第一行到最后一行查找word1字符串,并将该字符串替换为word2 |
:1,$ s/word1/word2/gc | 从第一行到最后一行查找word1字符串,并将该字符串替换为word2,且在替换时提示用户是否确认替换 |
4.1.3 删除、复制与粘贴
命令 | 功能 |
---|---|
x , X | x 向后删除一个字符,X 向前删除一个字符 |
dd | 删除光标所在的一整行 |
ndd | n是数字,从当前行开始向下删除n行 |
yy | 复制光标所在的一整行 |
nyy | n是数字,复制从光标所在行开始的向下n行 |
p , P | p是将已复制的内容粘贴到光标所在的下一行,P是将已复制的内容粘贴到光标所在的上一行 |
u | 撤销,复原上一步操作 |
. | 小数点,重复上一次操作 |
4.2 进入插入模式命令说明
命令 | 说明 |
---|---|
i | 从光标所在位置前插入文本 |
I | 从光标所在行的行首插入文本 |
a | 在光标所在位置后追加文本 |
A | 在光标所在行的行尾追加文本 |
o | 在光标所在行的下面新开一行来插入文本 |
O | 在光标所在行的上面插入一行来插入文本 |
Esc | 退出插入模式 |
4.3 命令模式下的命令说明
命令 | 说明 |
---|---|
:w | 保存编辑后的数据 |
:w! | 当文件为只读时,强制保存编辑后的数据 |
:q | 退出vim编辑器 |
q! | 不保存已修改数据,退出vim编辑器 |
:wq | 保存并退出,若为:wq! 则为强制保存退出 |
ZZ | 保存并退出 |
:w [filename] | 将文件另存为一个名为filename的新文件 |
:r [filename] | 读取名为filename的文件内容并插入到当前文件光标位置的后面 |
! command | 暂时退出vim编辑器,执行command命令 |
:set nu | 显示行号 |
:set nonu | 取消行号显示 |
二、正则表示法
1.grep的高级使用
grep用于根据指定内容或限制来进行查找
格式:grep [选项] “关键字” 被查找文件名
各选项及其用途:
-i:不区分大小写。
-w:按单词搜索。
-v:排除指定限制的内容。
-E:表示要使用到正则表达式。
-o:只显示匹配的字符串。
2.正则表达式
正则字符 | 意义 |
---|---|
word$ | 匹配以word结尾的字符串 |
^word | 匹配以word开头的字符串 |
word | 匹配word字符串 |
[abc] | 匹配中括号中的任意一个字符 |
[^list] | 匹配不在中括号中的任意字符 |
[n1-n2] | 匹配指定范围内的任意一个字符 |
. | 匹配任意一个字符 |
() | 表示分组,可将多个正则字符通过分组来进行执行 |
\d | 只匹配数字 |
\w | 匹配字母数字下划线 |
\s | 匹配空白字符 |
3.重定向
符号 | 功能 |
---|---|
< | 输入重定向 |
>> | 输出重定向,追加 |
> | 输出重定向,覆盖 |
2>或2>> | 表示错误重定向,将错误执行信息存放到指定文件内 |
&> | 同时实现输出重定向与错误重定向 |