档案编辑器vi使用方法简介 vi 是visual edit 的缩写。
指令模式:游标的移动、视窗的移动、删除/复制及修改指令介绍(delete change、yank)、删除与复制(delete、replace)、搬移与复制(delete/put、yank/put)、指令重复、取消前一动作(undo)、字串搜寻、资料的连接与分行、环境的设定、ex指令其他方面:中文编辑、恢复编辑时被中断的档案、编辑多个档案
vi 进入: vi filename
vi 离开: q! 离开vi,并放弃刚在缓冲区内编辑的内容。
Wq/zz /x 将缓冲区内的资料写入磁盘中,并离开vi w 将缓冲区内的资料写入磁盘中,但并不离开vi q 离开vi ,若档案被修改过,则会被要求确认是否放弃修改的内容
vi 的操作模式 Vi 提供两种操作模式:输入模式(insert mode)和指令模式 (command mode)。当使用者进入vi后,既处于指令模式下,此刻键入任何 字元皆被视为指令。
输入模式:a(append) 游标之后加入资料。 A 该行之末加入资料 i (insert) 游标之前加入资料 I 该行之首加入资料 o (open) 新增一行与该行之下供输入资料 O 新增一行与该行之上供输入资料 指令模式:h 向左移一个字元 1 向右移一个字元 j 向上移一个字元 k 向下移一个字元 0 移至该行之首 M 移至视窗的中间那列 L 移至视窗的最后一列 G 移至该档案的最后一列 nG 移至该档案的第n列 n+ 移至游标所在位置之后的第n列 n- 移至游标所在位置之前的第n列显示该行之行号、档案名称、档案中最末之行号、游标所在行号占 总行号之百分比
视窗移动:视窗往下卷一页视窗往上卷一页视窗往下卷半页视窗往上卷半页视窗往下卷一行视窗往上卷一行
删除、复制及修改指令介绍: d(delete)、c(change)和y(yank)这一类的指令在vi 中的指令格式为: operation+scope=command (运算子)(范围) 运算子: d 删除指令。删除资料,但会将删除资料复制到记忆体缓冲区。
y 将资料(字组、行列、句子或段落)复制到缓冲区。 p 放置(put)指令,与d和y配合使用。可将最后delete或yank的资料放置于 游标所在位置之行列下。 c 修改(change)指令,类似delete于insert的组合。
删除一个字组、句子等 资料,并插入新键入的资料。 范围: e 由游标所在位置至该字串的最后一个字元。 w 由游标所在位置之下一个字串的第一个字元。 b 由游标所在位置之前一个字串的第一个字元。 $ 由游标所在位置至该行的最后一个字元。 0 由游标所在位置该行的第一个字元。 ) 由游标所在位置至下一个句子的第一个字元。 ( 由游标所在位置至该句子的第一个字元。 { 由游标所在位置至该段落的最后一个字元。 } 由游标所在位置至该段落的第一个字元。 整行动作: dd 删除整行。 D 以行为单位,删除游标后所有字元。 cc 修改整行的内容。 yy yank整行,使游标所在该行复制到记忆体缓冲区。 删除与修改: x 删除游标所在该字元。 X 删除游标所在之前一字元。 dd 删除游标所在该行。 r 用接于此指令之后的字元取代(replace)游标所在字元。 R 进入取代状态,直到《ESC》为止 s 删除游标所在字元,并进入取代模式直到《ESC》 S 删除游标所在之该行资料,并进入输入模式直到《ESC》 搬移与复制:yank和delete可将指定的资料复制到记忆体缓冲区,而藉有put指令可将缓冲区内的资料复制到荧幕上 例如:搬移一行 :在该行执行dd 游标移至目的地 执行p 复制一行 :在该行执行yy 游标移至目的地 执行p 指令重复:在指令模式中,可在指令前加入一数字n,则此指令动作会重复执行n次。 例如: 删除10行 :10dd 复制10行 :10yy 取消前一动作(undo):即复原执行上一指令前的结果。 u 恢复最后一个指令之前的结果。 U 恢复游标该行之所有改变。
搜寻:在vi中可搜寻某一字串,使游标移至该处。 /字串 往游标之后寻找该字串。 ?字串 往游标之前寻找该字串。 n 往下继续寻找下一个相同的字串。 N 往上继续寻找下一个相同的字串。 资料的连接: J 句子的连接。将游标所在之下一行连接至游标该行的后面。 若某行资料太长亦可将其分成两行,只要将游标移至分开点,进入输入模式(可利用a、i等指令)在按《ENTER》即可。每周专题之vi命令 Vi命令是我们在Unix和linux上接触最多的文本编辑器了,虽然使用vi也近两年了,但最近使用还是感觉有好多常用的键位没有用到,于是又找了些vi命令方面的资料,恶补了下,特此把一些很实用的但我们又不是很熟悉的命令总结下: Vi文本处理器 通常情况下Vi分为3种模式,即“一般模式”,“编辑模式”及“命令行模式”。 一般模式:Vi编辑文件时,一进入该文件就是一般模式了。在此模式中,可使用上下左右键来移动光标,可使用“删除字符”或“删除整行”来处理文件内容,也可以使用“复制”、“粘贴”来处理你的文件数据。 编辑模式:一般模式下可以处理删除、复制、粘贴等动作,但是却无法编辑。在按下i,I,o,O,a,A,r,R等字母后才进入编辑模式。注意,通常在Linux中,按下上述字母后,在画面的左下方会出现INSERT或REPLACE字样,这才可以输入任何字符写入你的文件中(其实unix也一样)。如要回到一般模式,必须按下Esc键,才可退出编辑模式。 命令行模式:在一般模式下,输入“:”或“/”就可以将光标移到最末一行。在这个模式中,您可以搜索数据,读取,存盘,大量字符替换。
下面总结下各个模式下的一些很实用的命令: 一般模式: Ctrl +f 屏幕向前翻动一页 Ctrl +b 屏幕向后翻动一页 0 光标移动到此行第一个字符处 $ 光标移动到此行最后一个字符处 G 移动到这个文件的最后一行 nG 移动到这个文件的第n行。例如 1G,则移动到文件的最上面第一行 n光标向下移动n行
/word 在光标之后查找一个名为word的字符串
?word 在光标之前查找一个名为word的字符串
x,X x为向后删除一个字符,X为向前删除一个字符
nx 向后删除n个字符
d$ 删除光标所在位置往后到这行的最后的所有数据
ndd 删除光标所在行的向下n行,20dd删除向下的20行
yy 复制光标所在行
nyy 复制光标所在行的向下n行,如20yy则是复制20行
p,P p为复制的数据粘贴在光标下一行,P则为粘贴在光标上一行
u 恢复前一个动作
编辑模式:
r,R 替换:r会替换光标所指的那一个字符:R会一直替换光标所指的文字,直到按下Esc为止
命令行模式:
:w [filename] 将编辑数据保存为另一个文件
:r [filename] 在编辑的数据中,读另一个文件的数据
:set nu 显示行号
:se nonu 取消设置行号
其中大部分命令我感觉是很实用的,尤其是u、d$、r、setnu命令都是很管用,能提高你工作的效率