admin 管理员组

文章数量: 887142


2024年1月23日发(作者:怎样把xml文件转word)

linux vi保存退出命令 (如何退出vi)

Ren 于 2012-06-14 15:55 发表

linux vi保存退出命令 (如何退出vi)

新客网 时间:2012-01-14 评论:0 条

-

有很多方法:

退出Vi

当编辑完文件,准备退出Vi返回到shell时,可以使用以下几种方法之一。

在命令模式中,连按两次大写字母Z,若当前编辑的文件曾被修改过,则Vi保存该文件后退出,返回到shell;若当前编辑的文件没被修改过,则Vi直接退出, 返回到shell。

在末行模式下,输入命令

:w

Vi保存当前编辑文件,但并不退出,而是继续等待用户输入命令。在使用w命令时,可以再给编辑文件起一个新的文件名。

[例6]

:w newfile

此时Vi将把当前文件的内容保存到指定的newfile中,而原有文件保持不变。若newfile是一个已存在的文件,则Vi在显示窗口的状态行给出提示信息:

File exists (use ! to override)

此时,若用户真的希望用文件的当前内容替换newfile中原有内容,可使用命令

:w! newfile

否则可选择另外的文件名来保存当前文件。

在末行模式下,输入命令

:q

系统退出Vi返回到shell。若在用此命令退出Vi时,编辑文件没有被保存,则Vi在显示窗口的最末行显示如下信息:

No write since last change (use ! to overrides)

提示用户该文件被修改后没有保存,然后Vi并不退出,继续等待用户命令。若用户就是不想保存被修改后的文件而要强行退出Vi时,可使用命令

:q!

Vi放弃所作修改而直接退到shell下。

在末行模式下,输入命令

:wq

Vi将先保存文件,然后退出Vi返回到shell。

在末行模式下,输入命令

:x

该命令的功能同命令模式下的ZZ命令功能相同

VI 的保存退出

Vi是一种广泛存在于各种UNIX和Linux系统中的文本编辑程序。

不是排版程序,只是一个纯粹的文本编辑程序。

是全屏幕文本编辑器,它没有菜单,只有命令。

不是基于窗口的,所以,这个多用途编辑程序可以用于在任何类型的终端上编辑各式各样的文件。

的功能十分强大,但是命令繁多,熟练掌握起来有一定难度。

的发明者:bill joy

Vi的启动

$ Vi filename 或者$ Vi

如果filename已经存在,Vi会打开现存文件

如果是一个新文件,Vi会创建它

Vi的退出

在命令行模式下输入:q,:q!,:wq或者:x,可以退出Vi

:w 保存

:w filename 另存为filename

:wq! 保存并退出

:wq! filename 以filename为文件名保存后退出

:q! 不保存退出

:x 保存并退出,功能和:wq!相同

Vi的工作模式

Vi有三种工作模式,分别为:命令模式、插入模式(编辑模式)和末行模式,三种模式分别进行不同的操作,它们之间可以进行切换。 1.命令模式:进入Vi后,首先进入的就是命令模式,等待用户输入编辑命令,此时输入的字母将作为编辑命令来解释。

2.插入模式:在命令模式下输入插入命令i、附加命令a、打开命令o等命令可以进入插入模式,在插入模式下,用户输入可以对文本进行编辑,输入的任何字符都被当作文件内容保存起来。【Esc】键可以返回命令模式。

3.末行模式:在命令模式下,按【:】键可以进入末行模式,Vi光标会显示在窗口的最后一行,以“:”作为末行模式的提示符,等待用户输入命令。末行命令执行后,Vi自动回到命令模式。

Vi命令大全

1、移动光标

h或者向左方向键:光标向左移动一个字符

l或者向右方向键:光标向右移动一个字符

k或者向上方向键:光标向上移动一个字符

j或者向下方向键:光标向下移动一个字符

【Ctrl】+f:屏幕“向下”移动一页,相当于【PageDown】

【Ctrl】+b:屏幕“向上”移动一页,相当于【PageUp】

0:数字0,移动到这一行的最前面一个字符处

$:移动到这一行的最后一个字符处

G:移动到这个文件的最后一行

gg:移动到这个文件的第一行

n【Enter】: n是一个数字,光标向下移动n行

2、搜索与替换

/str:从光标开始,向下寻找一个名为str的字符串。

?str:从光标开始,向上寻找一个名为str的字符串。

:n1,n2s/str1/str2/g:n1与n2为数字,在第n1行与n2行之间寻找str1 这个字符串,并将该字符串替换成str2

:1,$s/str1/str2/g:从第一行到最后一行寻找str1字符串,并将该字符串替换为str2

:1,$s/str1/str2/gc:从第一行到最后一行寻找str1字符串,并将该字符串替换为str2,且在替换前提示符给用户确认是否需要替换

3、删除、复制与粘贴

x,X:x为向后删除一个字符,X为向前删除一个字符

nx:n为数字,为连续向后删除n个字符

dd:删除光标所在的那一整行

ndd:n为数字,从光标位置开始,删除向下n列,如20dd则是删除20列。

yy:复制光标所在的那一行

nyy:n为数字,复制光标所在的向下n行,如20yy则是复制20行

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

u:复原前一个操作

【Ctrl】+r:重做上一个操作

.:小数点,重复前一个动作,常用在重复删除、重复粘贴。

4、插入模式

i,I:插入:在当前光标所在处插入输入文字,已存在的文字会向后退,其中i为从当前光标所在位置前开始插入,I将光标移到当前行的行首,然后开始插入。

a,A:a为从当前光标所在的下一个字符开始插入,A为从光标所在行的最后一个字符处开始插入

o,O:这是英文字母o的大小写,o为在当前光标所在的下一行插入新的一行,O为在当前光标所在处的上一行插入新的一行。

r,R:替换:r为替换光标所在的那一个字符;R会一直替换光标所在的文字,直到安下【Esc】键为止。

5、文件操作相关

:w:保存文件

:w filename:另存为filename

:n1,n2 w filename!:将n1行到n2行的内容保存到filename中

:n w filename:将第n行保存到filename中

:l,. w filename:将从第一行起到光标当前位置的内容保存到 filename中

:.,$ w filename:将从光标当前位置到文件结束的内容保存到 filename中

:r filename:打开另外一个文件filename

:e filename:编辑新文件filename代替原有内容

:f filename:把当前文件改名为filename


本文来自【C语言中文网】:

target="_blank">/cpp/html/


本文标签: 命令 文件 模式 光标 输入