Vi编辑器介绍

1.        Vi编辑器

Vi命令是unix下常用而重要命令,可在全屏幕方式下编辑一个或多个文件。

Vi有三种模式:                                              

1.   命令模式: 进入vi时所处的模式。在此模式下用户可输入各种子命令对进行*作,如删除行、粘贴行、移向下一个字、移向不同行等。

2.   文本输入模式: 在此模式下可以修改一行的内容并增添新行。在命令模式下键入a 、i 或c键可进入文本输入模式,按Escape键可返回命令模式。

3.   命令项模式: 在此模式下,可以通过子命令输入更多的参数。如:w子命令要求输入一文件名,"/"子命令要求输入一个查找项。用户使用Escape键返回命令模式。

 

vi命令一览表(部分)

功能

命令

备注

移动光标

h

将光标左移一格。

l

将光标右移一格。

k或Ctrl+p

光标上移一行

j或Ctrl+n

光标下移一行

w

将光标移到下一个小字的前面。

W

将光标移到下一个大字的前面。

b

将光标移到前一个小字的前面。

B

将光标移到前一个大字的前面。

e

将光标移到下一个小字的后面。

E

将光标移到前一个大字的后面。

fc

把光标移到同一行的下一个c字符处。

Fc

把光标移到同一行的前一个c字符处。

tc

把光标移到同一行的下一个字符c的前一格。

Tc

把光标移到同一行的前一个字符c的后一格。

number|

把光标移到递number列上。

+或Enter

把光标移至下一行第一个非空白字符

-

把光标移至上一行第一个非空白字符

)

光标移至句尾

(

光标移至句首

}

光标移至段落开头

{

光标移至段落结尾

nG

光标移至第n行首

n+

光标下移n行

n-

光标上移n行

n$

光标移至第n行尾

H

把光标移到屏幕最顶端一行。

M

光标移至屏幕中间行

L

光标移至屏幕最后行

0

(注意是数字零)光标移至当前行首

$

光标移至当前行尾

space

字符 ">光标右移一个字符

Backspace

字符 ">光标左移一个字符

 

 

 

屏幕翻滚

Ctrl + f

向后滚一页。

Ctrl + d

向后滚半页。

Ctrl + b

向前滚一页。

Ctrl + u

向前滚半页。

Ctrl + e

屏幕向下滚一行。

Ctrl + y

屏幕项上滚一行。

nz

将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

插入修改

i

在光标前

I

在当前行首

a

光标后

A

在当前行尾

o

在当前行之下新开一行

O

在当前行之上新开一行

r

字符 ">替换当前字符

R

字符及其后的字符,直至按ESC键 ">替换当前字符及其后的字符,直至按ESC键

s

字符 ">从当前光标位置处开始,以输入的文本替代指定数目的字符

S

删除指定数目的行,并以所输入文本代替之

ncw或nCW

修改指定数目的字

nCC

修改指定数目的行

ndw或ndW

删除光标处开始及其后的n-1个字

do

删至行首

d$

删至行尾

ndd

删除当前行及其后n-1行

x或X

字符,x删除光标后的,而X删除光标前的 ">删除一个字符,x删除光标后的,而X删除光标前的

Ctrl+u

删除输入方式下所输入的文本

cc或S

修改一整行。

C

改变一行光标位置以后的部分。

cw

改变光标所在单词。

dd

删除当前行。

D

删除光标所在行光标后面的内容。

dw

删除光标所在的单词。

J

把下一行内容加到本行行尾。

rc

字符替换成c . ">把光符所在字符替换成c .

R

覆盖本行内容。

u

恢复上一次的修改。

~

字符的大小写。 ">改变光标所在出字符的大小写。

.

重复上一个操作。

<< 

把当前行移到左边。

>> 

把当前行移到右边。

 

 

 

 

搜索替换

/pattern

文件尾搜索pattern ">从光标开始处向文件尾搜索pattern

?pattern

文件首搜索pattern ">从光标开始处向文件首搜索pattern

n

在同一方向重复上一次搜索命令

N

在反方向上重复上一次搜索命令

s/p1/p2/g

将当前行中所有p1均用p2替代

n1,n2s/p1/p2/g

将第n1至n2行中所有p1均用p2替代

g/p1/s//p2/g

文件中所有p1均用p2替换 ">将文件中所有p1均用p2替换

/pattern/+number

将光标停在包含pattern的行后面第number行上。

/pattern/-number

将光标停在包含pattern的行前面第number行上。

%

移到匹配的“()”或“{}”上。

其他命令

ctrl+g

文件的有关信息。 ">取得正在编辑文件的有关信息。

:sh

启动sh ,从sh中返回可用exit或ctrl+d .

:! Command

执行命令command .

!!

重新执行上次的:! Command子命令。

q

退出vi

q!

文件并退出vi ">不保存文件并退出vi

ZZ或:wq

文件的修改并退出vi . ">保存对文件的修改并退出vi .

e filename

文件filename)。 ">使用filename激活vi (在vi中装入另一个文件filename)。

e!

文件,若当前文件有改动,则丢弃以前的改动。 ">重新装入当前文件,若当前文件有改动,则丢弃以前的改动。

e+filename

文件尾部开始编辑。 ">使用filename激活vi ,并从文件尾部开始编辑。

e+number filename

使用filename激活vi ,并在第number行开始编辑。

e#

文件。 ">开始编辑另外一个文件

r filename

文件,并将其内容加到当前文件后。 ">读取filename文件,并将其内容加到当前文件后。

r ! Command

文件,并将其输出加到当前文件后。 ">执行command文件,并将其输出加到当前文件后。

n1,n2 w!command

文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入 ">将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入

 


你可能感兴趣的:(c,unix,command,n2)