Linux Vi编辑器和find命令的使用

网友投稿 2088 2022-05-29

vi 编辑器

Linux:使用文本文件来保存配置文件

文本编辑器:ASCII文件

emacs vi

vi:Visual Interface(纯字符界面的编辑器)

全屏文本编辑,nano

模式化的编辑器

moduler

vim :vi improved

vi的模式:

编辑模式:键盘操作通常被解析为编辑命令:

输入模式:

末行模式:vim的内置的命令行接口,执行vim内置命令

编辑模式–>输入模式

i:当前光标处输入内容

I:在当前光标所在行的行首

a:在当前光标所在处的后面

A:在当前光标所在行的行尾输入

o:在光标所在行的下方新增一行空白行

O:在光标所在行的上方新增一行空白行

输入模式-->编辑模式 ESC 编辑模式-->末行模式 : 末行模式-->编辑模式 ESC,ESC

1

2

3

4

5

6

vi命令的使用格式

vim [options] /path/to/file

退出:

:q!强制退出,不保存并退出

:wq 保存修改并退出

:w 保存不退出

:x,保存并退出

编辑模式:ZZ,保存退出

打开:

多文件跳转

:next 下一个

:prev 上一个

:first 第一个

:last 最后一个

:qall 退出所有的文件

:wqall:修改并退出多个文件

分隔窗口打开多个文件

-o:水平分隔

ctrl+w,上下箭头

-O:垂直分隔

ctrl+w,左右箭头

+#:打开文件后在第#号行首

+:打开文件后在最后一行

光标移动:

单字符移动:

h:左

l:右

j:下

k:上

可以和数字组合

单词间移动:

w:调至下一个单词的词首

b:当前或前一个的词首

e:当前或下一个词的词尾

行内移动:

0:绝对行首

^:第一个非空白字符

$:绝对行尾

句子间移动:

):上一句

(: 下一句

段落间移动:

}:上一段

{:下一段

行间移动:

#G:第几行 #gg

G:最后一行

编辑操作:

x:删除光标所在处的字符

#x:删除光标所在处向后的#个字符

r:替换光标所在处的字符

d:删除命令 结果光标跳转命令使用 d^ 光标删除至行首 d$ 光标删除至行尾(shift+d) %:全部 dd:删除一行 #dd:删除所在行后的#行 y:复制命令 yy:复制当前一行 p粘贴 #yy:复制#行

1

2

3

4

5

6

7

8

9

10

11

p:paste 粘贴

复制或删除的是整行

p:当前行的下一行

P:当前行的上一行

复制或删除的为非整行

p:粘贴在光标所在字符的后面

P: 粘贴在光标所在字符的前面

撤销编辑

u:undo

#u:最近50次操作

撤销此前的撤销操作

ctrl+r:

重复执行此前的命令:

.

翻屏:

ctrl+f:向文件尾部翻一屏

ctrl+b:向文件首部翻一屏

ctrl+d:向文件尾部翻半屏

ctrl+u:向文件首部翻半屏

Enter:下一行

k :上一行

查找:

/keyword

?keyword

n:往下翻查找的结果

N:往上翻查找的结果

支持正则表达式

vim的可视化模式

编辑模式:

v:按照光标走过的区域选择

V:选择矩形行

vim可视化模式:

v: 按光标走过的区域选择

V: 选择矩形行

ctrl+v:选择矩形块

末行模式:范围定界

start,end:可以使用绝对定界,也可以使用相对定界

.:表示当前行

$:最后一行

$-2:倒数第3行

/pat1/,/pat2/:起始处为光标所在行

c:改变

跟d一样操作

y:yank,复制

跟d一样操作

s:替换

:set nohlsearch 关闭高亮显示,对当前shell有效

1

打开多个文件,分窗口:

vim -o

vim -O

Ctrl+w, 上下箭头

分割当前窗口:

Ctrl+w, s

Ctrl+w, v

窗口属性的定义:

:set nu 输出行号

:set nonu

:set ai 自动缩进(其他发行版本) :set shiftwidth=4 设置自动缩进空格数为4(ubuntu系统) :set softabstop=4 设置制表符宽度为4 :set ic 查找时不考虑大小写 :set noic 查找时考虑大小写 显示对应的括号 :set sm (show match) :set nosm 语法高亮: :syntax on :syntax off 搜索高亮: :set hlsearch :set nohlsearch

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

vim的配置文件:

全局:/etc/vimrc

个人:~/.vimrc

查找替换:

:地址定界s/查找模式/替换为的内容/gi

g:全局替换

i:不区分大小写

:地址定界s@查找模式@替换为的内容@gi

&:用于在替换为的内容部分中引用前面匹配到的所有内容

find:

实时查找工具,通过遍历指定路径下的文件系统完成文件查找。

特点:

Linux Vi编辑器和find命令的使用

查找速度慢

精确查找

实时查找

语法格式:

find [option]… [查找路径] [查找条件] [处理动作]

查找路径:指定具体目标路径;默认为当前目录 查找条件:指定的查找标准,可以文件名、大小、类型、权限等标准进行;默认为找出指定路径下所有文件 处理动作:对符合条件的文件做什么操作,默认为标准输出至屏幕。、 -print:默认动作,输出至屏幕 -ls:类似ls -l命令 -delete:查找出然后删除 -fls /path/to/somefile -ok COMMAND {} \;对查到的每个文件执行COMMAND命令,对于每个文件执行命令,需交互确认 -exec COMMAND {} \;直接处理,不交互。 {}:用于引用查找到的文件名称本身 查找条件: 根据文件名查找: -name "文件名称" (支持使用glob通配 *,?,[],[^]) 例如 find /etc -name "passwd*" -iname "文件名称" (不区分大小写) -regex "PATTEN": 以PATTEN匹配整个文件路径字符串,而不仅仅是文件名称: 根据属主 属组查找 -user USERNAME:查找属主为指定用户的文件 group GROUPNAME:查找属组为指定用户的文件。 -uid UserID:查找属主为指定UID的文件 -gid GroupID:查找属主为指定GID的文件 -nouser:查找没有属主的文件 -nogroup:查找没有属组的文件 根据文件类型查找: -type TYPE: f:普通文件 d:目录文件 l:符号链接文件 s:套接字文件 b:块设备文件 c:字符设备文件 p:管道文件 组合条件(与 或 非) 根据文件大小来查找: -size [+|-]#UNIT 常用单位:k,M,G UNIT:(#-1,#] -UNIT:(0,#-1] +#UNIT:(#,oo) 根据时间戳: 以“天”为单位: -atime: [+|-]# -mtime: -ctime: 以“分钟”为单位: -amin -mmin -cmin 根据权限来查找 -perm [+|-]MODE

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

Linux

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java基础之常用类
下一篇:设计模式中的简单工厂、工厂模式、抽象工厂模式总是分不清?一文告诉你所有区别
相关文章