20yy:Linux课堂笔记(项目七)

 

 

一、熟练使用vim编辑器

vim有三种基本模式:编辑模式、插入模式和命令模式。

1.编辑模式下

进入vim之后,首先进入的是编辑模式。进入编辑模式之后,vim等待编辑命令输入而不是文本输入。也就是说,这时输入的字母都将作为编辑命令来解释。

1.1编辑模式下光标的移动

n<Enter>

n为数字。光标向下移动n行

n<space>

n表示数字,例如20。按下数字后再按空格键,光标会向右移动这一行的n个字符

0或功能键Home

这是数字0:移动到这一行的首字符处

$ 或功能键End

移动到这一行的末字符处

G

移动到文件的最后一行

nG

n为数字。移动到文件的第n行。例如输入20G则会移动到文件的第20行(可配合:set nu)

gg

移动到文件的第一行,相当于1G

 1.2编辑模式下查找与替换的命令说明

/word / ?word

向下/向上寻找名称为word的字符串。

n

这个n是英文按键。代表重复前一个查找的动作。

N

这个N是英文按键。与n刚好相反,为反向进行前一个查找动作。

:n1,n2 s/word1/word2/g

在第n1~n2行寻找word1这个字符串,并将该字符串取代为word2

:1,$ s/word1/word2/gi

从第一行到最后一行寻找word1字符串,并将该字符串取代为word2,i不区分大小写

:% s/word1/word2/gc

全部替换,且在取代前显示提示字符给用户确认是否需要取代

取消高亮:noh

1.3编辑模式下删除、复制与粘贴的命令说明

dd

删除光标所在的那一整列

ndd

n为数字。删除光标所在的向下n列,例如,20dd是删除20列

yy

复制光标所在的那一行

nyy

n为数字。复制光标处向下n行,例如20yy是复制20行

p, P

p为将已复制的数据在光标下一行粘贴上,P则为粘贴在光标上一行!

ZZ

这是大写的Z。若文件没有更改,则不储存离开;若文件已经被更动过,则储存后离开

u

复原前一个动作

.

重复前一个动作的意思。如果你想要重复删除、重复粘贴等动作,按下小数点就可以

x,X在一行字中,x为向后删除一个字符(相当于“del”键),X为向前删除一个字符(相当于backspace)
nxn为数字,连续向后删除n个字符。
y1G/d1G复制/删除光标所在到第一行的所有数据
yG/dG复制/删除光标所在到最后一行的所有数据
y$/d$复制/删除光标所在处,到该行的最后一个字符
y0/d0那个数字是0,复制/删除光标所在行的前一个字符到该行的首个字符之间的所有字符
J将光标所在行与下一行的数据结合成同一行
c重复删除多个数据,例如向下删除10行,输入10cj
Ctrl+r重做上一个动作

2.插入模式下

在编进模式下按下相应的键可以进入插入模式:插入命令i、附加命令a、打开命令o、修改命令c、取代命令r或替换命令s都可以进入插入模式。在插入模式下,用户输入的任何字符都将被vim编辑器当作文件内容保存下来,并显示在屏幕上。在文本输入过程中(插入模式),若想回到编辑模式下,按“ Esc ”键即可。

2.1进入插入模式命令说明

i

从光标所在位置前开始插入文本

I

该命令是将光标移到当前行的行首,然后插入文本

a

用于在光标当前所在位置之后追加新文本

A

将光标移到所在行的行尾,从那里开始插入新文本

o

在光标所在行的下面新开一行,并将光标置于该行行首,等待输入

O

在光标所在行的上面插入一行,并将光标置于该行行首,等待输入

Esc

退出编辑模式或回到编辑模式中

3.命令模式下

如果是插入模式,先按“Esc”键回到编辑模式。在编辑模式下按“:”进入命令模式。

3.1命令模式下的按键说明

:w、:wq、:wq!、:q 、:q!、:x

保存、保存退出、强制保存退出、退出、强制退出

:r 文件路径

读取其他文件内容追加到当前文档中

:e!

恢复到文件打开后,没有进行修改时的状态

:w [filename]

将编辑的数据储存成另一个文件(类似另存为新文件)

:n1,n2 w [filename]

将n1到n2的内容储存成filename这个文件

:! command

暂时退出vim到命令列模式下执行command的显示结果。例如,“:! ls /home”即可在vim当中查看/home下面以ls输出的文件信息

:set nu

显示行号,设定之后,会在每一行的前缀显示该行的行号

:set nonu

与:set nu相反,为取消行号

:noh

取消搜索标注的高亮

:set fileformat=unix

将window中文件格式转换为unix文件格式,主要是换行符不一样

:e!

还原

二、grep

grep 是行过滤工具,用于根据关键字进行行过滤

-i:对匹配模式不区分大小写
• -w: 按单词搜索
• -n:每个匹配行只按照相对的行号显示
• -v:排除指定信息
• -A: 显示匹配行及后面多少行
• -B:显示匹配行及前面多少行
• -C: 显示匹配行及前后多上行
• -E: 表明要应用正则表达式,egrep 等价于 grep -E
• -o: 只显示匹配的字符串

三、正则表达式

单地说,正则表达式就是处理字符串的方法,它以行为单位来进行字符串的处理。正则表达式通过一些特殊符号的辅助,可以让使用者轻易完成查找/删除/替换某些特定字符串的工作。

word

匹配指定字符串(word)的值

^word

匹配以指定字符串开头的值  grep -n '^#' test.txt

word$

匹配以指定字符串结尾的值 grep -n '!$' test.txt

[abc]

匹配中括号中的任意一个字符,它们之间是或者关系 grep -n 'g[ld]' test.txt

[^list]

匹配不在中括号中指定的任意字符 grep -n 'oo[^t]' test.txt

[n1-n2]

匹配列出的选取范围!grep  -n '[A-Z]' test.txt   grep  -n '[A-Za-z0-9_]' test.txt 

.

匹配任意一个字符  grep -n 'e.e' test.txt

\

转义字符,将特殊符号的特殊意义去除 grep –n '\.' test.txt

x|y

管道,表示或者关系 egrep 'ab|bc'

()

表示字符串分组 egrep '^a(b|c)$'

\d

匹配数字grep -P

\w

匹配字母数字下划线grep -P

\s

匹配空格、制表符、换页符grep -P

相关推荐

相关文章