当前位置:文档之家› vi编辑器的使用总结

vi编辑器的使用总结

vi编辑器的使用总结
vi编辑器的使用总结

v i编辑器的使用总结 Revised as of 23 November 2020

Vi编辑器入门

一、vi的工作模式

vi有两种基本的工作模式:命令(编辑)模式和文本输入模式。

命令模式:vi初始启动时进入命令模式。它不显示用户输入,只会被解释执行。

文本输入模式:它就显示用户的输入,只是作为文本写入到用户的文件中。

状态行:屏幕底部的一行,通常为第24行,vi在该行上反馈编辑操作的结果。错误信息或其他一些信息会在状态行上显示出来,vi还会在第24行上显示那些以冒号、斜杠或问号开头的命令。

二、命令模式

注意:

1,如果想使用光标移动键,就必须使vi处于命令模式。

2,当vi编辑器处于命令模式时,大部分命令在按下键时就会启动,因此不需要使用回车键来指明命令行的结束。

?

vi的光标移动键

键功能

h或[←]

将光标向左移动一位

j 或[↓]

将光标向下移动一位

k或[↑]

将光标向上移动一位

l 或[→]

将光标向右移动一位

$ 将光标移到当前行的行尾

w 将光标向右移动一个字

b 将光标向左移动一个字

e 将光标移到字尾

0(零)

将光标移到当前行的行首

[Reuturn]键将光标移到下一行的行首

[Spacebar]键将光标向右移动一位

[Backspace]键将光标向左移动一位

?

命令模式下vi编辑器的文本修改键

键功能

x 删除光标位置指定的字符

dd 删除光标所在的行

u 撤销最近的修改

U 撤销对当前行做的所有修改

r 替换光标位置上的一个字符

R 替换从光标位置开始的字符,同时改变vi到文本输入模式

.(点)

重复上一次的修改

三、文本输入模式

切换到文本输入模式的命令键

命令键功能

i 在光标左侧输入正文

I 在光标所在行的开头输入正文

a 在光标右侧输入正文

A 在光标的所在行的未尾输入正文

o 在光标所在行的下一行增添新行,并且光标位于新行的开头

O 在光标所在行的上一行增添新行,并且光标位于新行的开头

?

关闭文件

● 按[Esc]键,确保vi处于命令模式。

● 输入 : 将提示符放到屏幕底部的状态行上。

● 输入q![Return],该命令不保存改变并退出vi。按[!]键表示确认放弃修改。

?

当vi处于文本编辑器模式时[Return]的使用:

● 如果光标在行尾,光标的右边没有文本按[Return]键将会在当前行的下面添加一个空行● 如果光标正好在当前行的第一个字符上,按[Return]键将会在当前行的上面添加一空行● 如果光标在本行的其他位置,并且它的右边有文本,按[Return]键会把该行分成两行?

编辑多个文件

● 编辑另一个文件:vi 可能同时打开多个文件,另一种方法是用:e(edit)

● 读另一个文件:在vi编辑器命令模式下,输入:r,后面跟文件名,并按[Return]键,:r命令将指定文件的副本放到缓冲区中光标位置之后。指定的文件成为当前文件的一部分。

● 写入另一个文件:vi编辑器允许用户将当前编辑文件的一部分写(保存)到另一个文件中。首先,用户需要指出希望保存的行的范围,然后用

重排文本

vi编辑器的剪切和粘贴键

键功能

d 删除指定位置的文本,并保存到临时缓冲区中。

y 复制指定位置的文本到临时缓冲区。

P 将指定缓冲区的内容放到当前光标位置之上

p 将指定缓冲区的内容放到当前光标位置之下

c 删除文件并使vi进入文本输入模式,这是删除和插入命令的组合

?

vi操作符的域

部分vi域控制键

域功能

$ 标识域为从光标位置开始到当前行尾

0(零)

标识域为从光标位置前到当前行首

e或w

标识域为从光标位置开始到当前字尾

b 标识域为从光标位置前到当前字首

?

四、命令的组合使用

在unix中许多的命令是可以组合使用的,这样就显出了 unix的强大之处。下面就列一些常用基本的文本处理的组合命令

◎使用删除操作符和域控制键

★实例1:删除从光标位置开始到当前行尾的文本,按d$

★实例2:删除从光标位置之前到当前行首的文本,按d0

★实例3:删除从光标位置后的一个字,按dw

★实例4:删除光标位置后的多个字(例如,3个字),按3dw

★实例5:删除到字尾,按de

★实例6:删除到前一个字的字首,按db

◎使用移出操作符和域控制键

★实例1:复制从当前光标位置开始到当前行尾的文本,按y$

★实例2:复制从当前光标位置开始到当前行首的文本,按y0

◎使用修改操作符和域控制键

修改操作符c可以同时删除和移出操作符一样使用域控制键。c操作符与其他操作符不同的是它将vi 从命令模式转换到文本输入模式。

Vi编辑器的某些版本用一个标志来标记将被删除的最后一个字符。这个标志通常是美元符($),它覆盖将被删除的最后一个字符。

★实例:使用修改操作符和域控制键来修改一个字,按cw.

五、光标定位键

vi的翻页键

键功能

[Ctrl-d] 将光标向下移动到文件尾,通常每次移动12行

[Ctrl-u] 将光标向上移动到文件头,通常每次移动12行

[Ctrl-f] 将光标向下移动到文件尾,通常每次移动24行

[Ctrl-b] 将光标向上移动到文件头,通常每次移动24行

?

定位光标:使用的G命令,前面加上希望光标将位于的行号。

实例:完成下列操作,使第1000行成为当前行。

□ 输入1000G,将光标移到第1000行上。

□ 输入1G,将光标移到第1行上。

□ 输入G,将光标移到文件尾。

另一种有用的命令是[Ctrl-g],它告诉用户当前行号。例如,在命令模式下按[Ctrl-g]键,vi编辑器显示类似于以下的信息:

“myfirst”line 30 of 90 – 30%

七、最后的vi命令――1运行shell命令

用户可以在vi命令行中运行UNIX的shell命令。这一方便的特性允许用户暂时将vi编辑器放在一边,转而执行shell命令。!(惊叹号)提示vi下一个命令是UNIX的shell命令。如果需要,用户也可以查看shell命令的执行结果并将其加入到文本中。使用: r(read)命令后面跟!,可将命令的结果插入到编辑文件中。

实例:下面的命令序列显示!的使用方式。

□ 输入: ! ls

□ 输入: ! who

□ 输入: !date

□ 输入: !pwd

□ 输入: r ! date

□ 输入:r ! cal 1 2005

□ 输入:r ! vi mylast

2行连接

使用J命令连接两行。J命令将当前行下面的一行连接到当前行上,放到光标位置之后。如果两行连接产生一个长行,vi将其按屏幕进行折行。

实例:完成下列操作即可连接两行。

□ 使用光标移动键将光标放在第一行行尾。

□ 按J键,vi将当前行下面的一行连到当前行上。

3搜索和替换

vi的搜索命令(/和)

实例:下面的命令序列演示vi的搜索和替换功能

□ 输入:/UNIX并按[Return]键,向下搜索找到第一个UNIX。

□ 输入cwunix并按[Return]键,将UNIX替换为unix/

□ 输入n,找到下一个UNIX。

4文件恢复选项

用-r选项启动vi编辑器崩溃时正在编辑的文件。例如,下面的命令可以恢复myfirst

$ vi –r myfirst [Return]…………………………………启动vi的恢复选项

如果不提供文件名进行编辑,或不记得当时编辑的文件名,可输入vi –r命令

$ vi –r [Return]

插入相关命令:

a //在光标后插入文本

i //在光标前插入文本

o //在当前行下面插入一行

O //在当前行上面插入一行

I //在当前行开头插入文本

A //在当前行末尾插入文本

光标移动相关命令:

Home //移动到光标所在行的最前面

End //移动到光标所在列的最后面

b //移动到下个字的第一个字母

w //移动到上个字的第一个字母

H //移动到屏幕的第一列

M //移动到屏幕的中间列

L //移动到屏幕的最后列

fx //向右移动到x字符上

Fx //向左移动到x字符

Pageup //向上翻页

Pagedown //向下翻页

shift+g // 跳到文件尾

ddp //和下一行交换

删除相关命令:

x //删除光标所在处的一个字符

dw //删除光标所在处向后的一个单词

D //删除光标处至行尾的所有字符

dd //删除光标所在行,可以加数字表示要删除的行数

替换命令:

r //替换光标所在处的一个字符

R //向右连续替换

cw //替换光标向右的一个单词

查找命令:

/ac //向光标下文查找ac,按n向下查找下一个按N回到上一个 ac //向光标上文查找ac,按n向上查找下一个按N回到上一个复制与粘贴相关命令:

yw //将光标向右一个单词拷入剪贴板

y$ //将光标至行尾的字符拷入剪贴板

yy //将当前行拷入剪贴板

p // 将剪贴板中的内容粘贴在光标后

文件保存及退出相关命令: :q // 不保存退出

:q! // 不保存强制性退出 :w //保存编辑不退出

:wq

:wq!

相关主题
文本预览
相关文档 最新文档