学习shell与shell script 01_vi与vim

本文详细介绍了vi编辑器的使用,包括一般模式、编辑模式和命令行模式的操作,如光标移动、撤销恢复、查找替换、删除复制粘贴等。同时,讲解了vim作为vi的增强版,增加了如正则表达式支持、多文件编辑等功能。此外,还讨论了Linux文件的默认权限设置及其查看方法。

目录

为什么学习vi

什么是vim

vi的使用

1.一般模式

2.编辑模式

3.命令行模式

查看文件的默认权限

1)通过直接输入umask,就可以看到数字形态的权限设置分数。

2)umask -S 

按键说明

一、一般模式

1)移动光标

2)撤销与恢复

3)查找与替换(重点掌握)

4)删除复制粘贴

5)移动光标的方法

二、一般模式切换到编辑模式可用按钮说明

i I 

a A

r R

三、一般模式切换到命令行模式


Linux配置文件都是以ASCII的纯文本形式存在。

为什么学习vi

1)UnixLike系统都会内置vi文本编辑器,其他的文本编辑器则不一定存在

2)许多软件的编辑接口都会主动调用vi

3)vi具有程序编辑的能力,可以主动以字体颜色辨别语法的正确性

4)程序简单,编辑速度相当快

什么是vim

vim是vi的高级版本,vim可以以颜色或底线等方式来显示一些特殊的信息。

vim可以依据文件的扩展名或者文件内的开头信息判断该文件的内容,从而自动调用

改程序的语法判断。再以颜色来显示程序和一般信息。也就是说vim是个程序编辑器

vim里面提供了很多额外的功能,例如

1.支持正则表达式的查找框架

2.多文件编辑

3.块复制

vi的使用

1.一般模式

直接使用vi打开文件,就是一般模式。

可以使用上下左右按键来移动光标

可以删除字符和整行

可以复制黏贴数据

无法编辑

2.编辑模式

i I a A o O r R按键之后可以进入编辑模式。

这时候,界面左下角会出现INSERT或REPLACE的字样,此时才可以进行编辑。

通过Esc按键可以退出编辑模式,回到一般模式

3.命令行模式

在一般模式中,输入: /  ?中的任意一个按钮,就可以将光标移动到最下面那一行。

可以用于

1)查找数据

2)读取

3)保存

4)大量替换字符

5)离开vi

6)显示行号

 

查看文件的默认权限

我们查看权限的时候

ubuntu@ubuntu:~$ pwd
/home/ubuntu
ubuntu@ubuntu:~$ umask
0002
ubuntu@ubuntu:~$ 

1)通过直接输入umask,就可以看到数字形态的权限设置分数

0002:第一个数字是特殊权限用的,我们先不要理他

后面三个数字分别代表:user、group、other(其他组)

文件的默认权限:

若用户创建文件,那么默认没有执行权限,即只有rw 两个权限。最大值为666

所以本例子中的文件实际权限为664

若用户创建文件夹,那么,由于可不可以进入文件夹和x有关,所以默认值为777

所以本例子中的文件夹实际权限为775

umask分数就是指的是默认值需要剪掉的权限

2)umask -S 

直接以符号的形式显示出权限

ubuntu@ubuntu:~$ umask -S
u=rwx,g=rwx,o=rx

创建文件和文件夹权限确认

ubuntu@ubuntu:~$ touch test.txt
ubuntu@ubuntu:~$ ls -lh test.txt
-rw-rw-r-- 1 ubuntu ubuntu 0 Jan 23 18:48 test.txt
ubuntu@ubuntu:~$ mkdir test
ubuntu@ubuntu:~$ ls -l |grep test
drwxrwxr-x  2 ubuntu ubuntu 4096 Jan 23 18:49 test
-rw-rw-r--  1 ubuntu ubuntu    0 Jan 23 18:48 test.txt

按键说明

一、一般模式

1)移动光标

移动光标
hjkl左下上右
Ctrl + f向下移一页
Ctrl + b向上移一页
Ctrl + d向下移半页
Ctrl + u向上移半页
+光标移动到非空格符的下一行
-光标移动到非空格符的上一行
n<space>光标向右移动n个字符
0或home这一行最前面字符常用
$或End这一行最后面字符常用
H最上方那一行的第一个字符
M中间那一行的第一个字符
L最下方那一行的第一个字符
gg移动到文件的第一行常用
G光标移动到文件的最后一行常用
nG光标移动到文件的第n行常用
N<Enter>光标向下移动N行常用

2)撤销与恢复

撤销与恢复
u撤销上一步的操作常用
Ctrl+r恢复上一步被撤销的操作常用

3)查找与替换(重点掌握)

查找与替换
/word向下查找名为word的字符串常用
?word向上查找名为word的字符串常用
n重复上一个查找动作常用
N反方向重复上一个查找动作常用
:n1,n2s/word1/word2/g

n1,n2代表起始和结束行的行号,代表搜索范围

word1代表你要搜索的字符

word1代表你要替换的字符

常用
:1,$s/word1/word2/g

将全文的word1替换为word2

常用
:1,$s/word1/word2/gc

将全文的word1替换为word2,且在替换前要求用户确认

y 确认执行这个替换

n 取消这个替换

a 执行所有替换且不再询问

q 退出且不做任何修改

 l 替换完匹配点后退出

Ctrl + E 向下翻滚一行

Ctrl + Y 向上翻滚一行

常用

4)删除复制粘贴

删除复制粘贴
x向后删除一个字符常用
X向前删除一个字符常用
nx向后删除n个字符
dd删除光标所在行常用
ndd删除光标向下的n行常用
d1G删除光标所在行到第一行的所有数据常用
dG删除光标所在行到最后一行的所有数据常用
d$删除光标所在处到该行的最后一个字符常用
d0删除光标所在处到该行的第一个字符常用
yy复制光标所在行常用
nyy复制光标向下的n行常用
y1G复制光标所在行到第一行的所有数据
yG复制光标所在行到最后一行的所有数据
y0复制光标所在处到该行行首的所有数据
y$复制光标所在处字符到该行行尾所有数据
p将已复制的数据在光标下一行粘贴常用
P将已复制的数据在光标上一行粘贴常用

5)移动光标的方法

J将光标所在行与下一行的数据结合成同一行
c重复删除多个数据???
.重复前一个操作,比如重复删除 重复粘贴等操作,使用小数点就好常用

二、一般模式切换到编辑模式可用按钮说明

i I 

i进入插入模式,从目前光标处插入常用
I进入插入模式,从所在行第一个非空格字符处开始插入常用

a A

a进入插入模式,从当前光标所在的下一个字符处开始插入常用
A进入插入模式,从光标所在行的最后一个字符处开始插入常用

o O

o进入插入模式,为目前光标所在的下一行处插入新的一行常用
O进入插入模式,为目前光标所在的上一行处插入新的一行常用

r R

r进入替换模式,r只会替换光标所在的那一个字符一次常用
R进入替换模式,R会一直替换光标所在的字符,直到按下【Esc】为止常用

三、一般模式切换到命令行模式

:w将编辑的数据写入磁盘文件中常用
:w!

若文件属性为“只读”时,强制写入该文件。不过,到底能不能

写入和你对该文件的文件权限相关

常用
:q离开vi常用
:q!若曾修改过文件,又不想存储,使用“!”,为强制离开不保存常用
:wq先保存后离开常用
:wq!强制保存后离开常用
ZZ文件没有改动,则不保存离开,若文件已经被更改,则保存后离开
:w [file name]     将编辑的数据保存为另一个文件(类似另存文件的意思)
:r [filename]

在编辑的数据中,读入另外一个文件的数据,

即将filename这个文件内容加到光标所在行后面

:n1,n2 w [filename]         将n1到n2行的内容保存成filename这个文件
:! command 暂时离开vi到命令行模式下执行command的显示结果。常用

                        !在vi中经常带有“强制”意思

:set nu显示行号,设置之后,会在每一行的前缀显示该行的行号
:set nonu取消行号显示

特别注意 vi中,数字是很有意义的,数字通常代表重复做几次的意思。也有可能是代表去到

第几个什么什么的意思

50dd: 删除50行

50j: 向下移动50行

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值