5.1 vi 的使用


    不得不承认,vi 是非常优秀的文本编辑器。虽然命令繁杂,但是经过一段时间的使用,才发现它可以和 windows 下的一些著名编辑器媲美。

    vi 有三种方式,分别是编辑方式、插入方式和命令方式。其功能键参看下表:

    编辑方式:

功能键

功能

ctrl-f

前翻一页

ctrl-b

后翻一页

H

将光标移动到屏幕最上面一行

M

将光标移动到屏幕中间

L

将光标移动到屏幕最下面一行

w

右移光标到下一个字的开头

e

右移光标到一个字的末尾

b

左移光标到前一个字的开头

0

左移光标到到本行的开始

^

移动光标到行中第一个非空字符

$

右移光标到本行末尾

   

/string

向前搜索指定的字符串

? string

向后搜索指定的字符串

n

搜索下一个字符串

   

rc

c 替换当前光标处的字符

x

删除当前光标处的字符

dw

删除光标右面的字

db

删除光标左面的字

dd

删除光标所在行

 

在上面的命令前加上数字,表示重复操作的次数

d$

删除当前光标到行末尾之间的字符

d0

从当前光标起删除字符直到行的开始

J

删除本行的回车,并和下一行合并

   

p

将缓冲区内的内容粘贴到当前光标的后面

P

将缓冲区内的内容粘贴到当前光标的前面

yy

将当前行复制到剪切缓冲区

nyy

n行复制到剪切缓冲区

   

u

撤消前一命令的结果

.

重复最后一条修改正文的命令


    插入方式:

功能键

功能

i

在光标左面插入正文

a

在光标右面插入正文

o

在光标所在行下面增加行

O

在光标所在行上面增加行

I

在光标行的开头插入

A

在光标行的末尾插入

   

s

用新的正文替换光标所指字符

cw

用新的正文替换光标右边的字

cb

用新的正文替换光标前边的字

cd

用新的正文替换光标所在的行

 

前面加上数字,表示该命令重复 n

   

c$

用新正文替换从光标开始到本行末尾的所有字符

c0

用新正文替换从光标开始到本行开头的所有字符


    命令方式:

功能键

功能

:q

在未做修改的情况下退出

:q!

将任何修改作废,退出

:w

存盘

:wq

存盘并退出

:w file

将编辑的内容写到 file 文件中去

:r file

file 文件读入,并放在当前光标行的后面

:e file

编辑新文件 file 代替旧内容

:f file

将当前正文的名称改未 file

:f

打印当前正文的名称和状态

   

:n

移动光标到第 n

   

:/str/

将光标移动到下一个包含 str 字符串的行

:?str?

将光标移动到最近的一个包含 str 字符串的行

:/str/w file

将第一个包含 str 字符串的行写到文件 file

:/str1/,/str2/w file

将从包含 str1 包含 str2 之间的行写入 file 文件

   

:s/str1/str2

str2 替换掉首次出现的 str1

:s/str1/str2/g

str2 替换掉每次出现的 str1

   

:d

删除当前光标行

回家