Linux基础-5.利用vi编辑器创建和编辑正文文件

时间:2022-01-31 11:36:16

1、vi编辑器简介

1)掌握vi编辑器的定义:vi编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下。由于不需要图形界面,vi是效率很高的文本编辑器。尽管在Linux上也有很多图形界面的编辑器可用,但vi在系统和服务器管理中的功能是那些图形编辑器所无法比拟的。

2、vi编辑器的操作模式

1)掌握vi编辑器的3种基本模式:

  a)命令行模式:vi编辑器的默认模式。在这一模式中,所有的输入被解释成vi命令,可以执行修改、复制、移动、粘贴和删除正文等命令,也可以进行移动光标、搜索字符串和退出vi编辑器的操作等

  b)编辑模式:在编辑模式中,可以往一个文件中输入正文。在这一模式中,输入的每一个字符都会被vi编辑器解释为输入的正文。使用ESC键返回命令行模式

  c)扩展模式:在一些UNIX系统上也叫底行模式。在这一模式下,可以使用一些高级编辑命令,如查找和替换字符串、存盘或退出vi编辑器等。要进入底行模式,需要在命令行模式中输入冒号(:),冒号这一操作将光标移到屏幕的最后一行

Linux基础-5.利用vi编辑器创建和编辑正文文件

3、在vi编辑器中光标的移动

1)掌握在vi编辑器中常用的移动光标位置的键与光标移动之间的关系,如下表:

[ctrl]+[b]

屏幕往“后”移动一页

[ctr]+[f]

屏幕往“前”移动一页

[ctrl]+[u]

屏幕往“后”移动半页

[ctrl]+[d]

屏幕往“前”移动半页

gg

移动到文章的首行,相当于1G

G

移动到文章的最后

nG

n为数字。移动到这个档案的第n行。例如20G则会移动到这个档案的第20行

h或左箭头键

光标向左移动一个字符

j或下箭头键

光标向下移动一个字符

k或上箭头键

光标向上移动一个字符

l或右箭头键

光标向右移动一个字符

n[space]

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

0或[^]或[Home]

移动到这一行的最前面字符处

$或[End]

移动到这一行的最后面字符处

H

光标移动到这个屏幕的最上方那一行的第一个字符

M

光标移动到这个屏幕的*那一行的第一个字符

L

光标移动到这个屏幕的最下方那一行的第一个字符

4、进入编辑模式

1)掌握从命令行模式进入编辑模式的命令:

  a)a:进入输入模式并在光标所在的下一个字符处开始输入

  b)A:进入输入模式并在光标所在行的最后一个字符处开始输入

  c)i:进入输入模式并在光标所在处输入

  d)I:进入输入模式并在光标所在行的第一个非空格符处开始输入

  e)o:进入输入模式并在光标所在行的下一行处输入新的一行

  f)O:进入输入模式并在光标所在行的上一行处输入新的一行

  g)r:进入取代模式,只会取代光标所在的那一个字符一次

  h)R:进入取代模式,会一直取代光标所在的文字,直到按下[ESC]键为止

5、在命令行栻上删除、复制和粘贴操作

1)掌握常用的删除、复制和粘贴的快捷键

x,X

在一行字当中,x为向后删除一个字符(相当于[del]键),X为向前删除一个字符(相当于[backspace]键)

nx

n为数字,连续向后删除n个字符。举例来说,10x表连续删除10个字符

dd

删除光标所在的那一整行

ndd

n为数字。删除光标所在的向下

d1G

删除光标所在行到第一行的所有数据

dG

删除光标所在行到最后一行的所有数据

d$

删除光标所在处到该行的最后一个字符

d0

删除光标所在处到该行的最前面一个字符

yy

复制游标所在的那一行

nyy

n为数字。复制光标所在的向下n行。例如20yy则是复制20行

y1G

复制光标所在的向下n行。例如20yy则是复制20行

yG

复制光标所在行到最后一行的所有数据

y0

复制光标所在的那个字符到该行行首的所有数据

y$

复制光标所在的那个字符到该行行尾的所有数据

p,P

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

J

将光标所在行与下一行的数据结合成同一行

u

复原前一个动作

[ctrl]+r

重做上一个动作

u与[ctrl]+r是一组很常用的指令!一个是复原,另一个则是重做一次。

.

小数点。意思是重复前一个动作的意思。如果你想要重复删除、重复粘贴等动作,按下小数点“.”就好了

6、扩展模式与文件的存储和退出

1)掌握扩展模式下常用的命令:

:w

将编辑的数据写入硬盘档案中

:w!

若文件属性为“只读”时,强制写入该档案。不过,到底能不能写成功,还是跟当前用户对该档案的权限有关

:q

退出vi

:q!

若修改过档案,又不想储存,使用此命令强制离开不储存档案

注意:感叹号(!)在vi当中,常常具有“强制”的意思

:wq

储存后离开vi

:wq!

强制储存后离开vi

ZZ

若档案没有修改,则不储存离开vi,若档案已经被修改,则储存后离开vi

:w [filename]

将编辑的数据储存成另一个档案

:r [filename]

在编辑的数据中,读入另一个档案的数据。亦即将“filename”这个档案内容加到游标所在行后面

:n1,n2 w [filename]

将n1到n2行的内容储存成filename这个档案