进入vi
• vi入門
• 如何插入文字
• 如何刪除文字
• 如何取代文字
• 如何寻找文字
• 如何搬移文字
Vi入门-1
• vi <file_name> ->进入vi编辑环境
ex:
vi apmt110.4gl ->进入vi编辑 apmt110.4gl
vi +123 apmt110.4gl ->编辑apmt110.4gl,且将光标移至123行
vi ¨Cr apmt110.4gl ->当系统或vi当掉时,可重新开启当掉前的最后一个版本
• 上下左右移动
– H ->将光标移至画面左上角
– L ->将光标移至画面左下角
– G ->将光标移至档案最后一行
– h ->左移一格
– l ->右移一格
– j ->下移一格
– k ->上移一格
– 0 ->移至该行第一个字
– $ ->移至该行最后一个字
– 4$ ->将光标移至往后第四行的行尾(包含目前所在行)
– ctrl-f ->向下卷动一个屏幕
– ctrl-b ->向上卷动一个屏幕
– 6+ ->将光标往后移动6行(不包含目前所在行)
– 6- ->将光标往前移动6行(不包含目前所在行)
Vi入门-2
• :w ->储存档案
• :q ->放弃编辑
ex:
:w ->储存档案
:wq ->储存档案,并且离开vi(存盘+离开)
:q! ->放弃编辑,且不存盘离开(不存盘+离开)
• :x ->只有更新过时才将资料写入档案
• :! ->暂时离开vi环境
ex:
:! date ->可show目前日期及时间
:!sh ->可跳到shell中,做您想要做的事
做完再按ctrl-d 或 exit回到vi环境继续编辑
• ESC ->结束编辑模式回到命令模式下
• Ctrl-g ->查询档案相关信息(包含光标所在行数,总行数)
• :nu ->取得光标目前所在行数
如何插入字符
• i ->进入插入模式(光标停在目前所在位置上)
• a ->进入插入模式(光标停在下一个字符位置上)
• I ->进入插入模式,且移至行首
• o ->于光标下插入新一行(小写o)
• O ->于光标上插入新一行(大写o)
• Return ->加入一行
如何删除字符
• x ->删除一个字符
ex: 3x ->删除光标后3个字符(含光标所在字符)
3X ->删除光标前3个字符(含光标所在字符)
• dw ->删除一个字
ex: 3dw ->删除3个字(字后的空白将一拼删除)
• dd ->删除一行
ex: 3dd ->删除目前所在行开始的三行
• d ->删除特定范围
ex: :200,250d ->删除第200~250行资料
:.,$d ->删除目前所在行至文件尾资料
:.,+3d ->删除目前所在行至下面3行资料
:.,-3d ->删除目前所在行至上面3行资料
d$ ->删除光标所在位置至行尾的字符
d0 ->删除光标所在位置至行首的字符
• D ->删除光标所在至行尾的资料
如何取代字符
• r ->取代字符
ex: rb ->将光标所在位置字符以¡®b¡¯取代
4rb ->将光标所在位置后4字符以¡®b¡¯取代(包含目前所在字符)
• R ->切换至取代模式
• s ->替换字符
ex: 3sxyz ->将光标所在位置开始的3字符替换成¡®xyz¡¯
• S ->整行替换(会将所在行清掉,并将光标移至行首)
ex: 4S ->替换光标所在行开始的四行资料
• cw ->取代字
ex: 要将bear取代fox:
step1:将光标移bear的开头字符¡®b¡¯上
step2:按cw
stwp3:输入¡®fox¡¯
• C ->取代至行尾
如何寻找字符
• / ->寻找字符串
ex:
/apmt110 ->寻找档案中出现¡®apmt110¡¯字符串的位置
//.* ->寻找档案中出现¡®.*¡¯特殊字符的位置
(寻找特殊字符时,可在该字符前加¡®/¡¯,如.*/[]~~$)
• 寻找且取代
:g/apmt110/s//aapt100/g ->将档案中所有¡®apmt110¡¯取代成¡®aapt110¡¯
:1,$ s/apmt110/aapt100/g
:% s/apmt110/aapt100/g
:100,200 s/apmt110/aapt100/g
如何复制字符
• co ->复制命令
ex:
:3,4 co 1 ->将第3行及第4行复制到第1行下面
• ¡°ayy,¡±ap ->复制,贴上
ex:复制3行资料
step1:将光标移至欲复制区块的第一行按¡°a3yy
step2:将光标移至却插入位置的上一行按¡°ap
• 复制其它档案资料
– :e <file_name> ->开启另一档案
– :e# ->回到原档案
– :e! ->重读原档案放弃目前修改状态
如何搬移字符
• m ->搬动命令
ex:
:2, 3 m 4 ->将第2行及第3行搬至第4行下面
: 5m2 ->将第5行搬至第2行下面
: 4m 0 ->将第4行搬至第1行
• dd,p ->删除,贴上
ex:
step1:在资料来源之所在行按¡®dd¡¯
step2:在搬移的目的位置按¡®1p¡¯贴上(1代表第一个暂存区,可为2,3,4¡)
• u ->愎原更动
可用来复原之前所作的更动