1、CentOS系统Vi工作模式及常用命令使用用法VI的工作模式Vi有三种基本的工作模式:1.指令模式(Command Mode):指令模式主要使用方向键移动光标位置进行文字的编辑2.文本输入模式(Input Mode) :在指令模式下(Command Mode)按a/A键、i/I键、o/O键进入文本模式3.行末模式(Last line Mode) :末行模式主要进行一些文字编辑辅助功能,比如字串搜索、替代、保存文件等操作指令模式(Command Mode) 下输入 a、i、o进入文本输入模式(Input Mode)文本输入模式(Input Mode)下按 ESC 进入指令模式(Command M
2、ode)指令模式(Command Mode)下输入 : 进入末行模式(Last line Mode)末行模式(Last line Mode)下指令错误则返回指令模式(Command Mode)VI命令常用用法这里介绍的都是最基本最常用的vi命令折腾vps够用了,比如退出vi的命令等等0、进入vi的命令vi filename :打开或新建文件,并将光标置于第一行首vi n filename :打开文件,并将光标置于第n行首vi filename :打开文件,并将光标置于一行首vi /pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处vi -r filenam
3、e :在上次正用vi编辑时发生系统崩溃,恢复filenamevi filename.filename :打开多个文件,依次进行编辑1、指令模式(Command Mode)PageDn - 向下移动一页PageUp - 向上移动一页0 -光标移动至行首h -光标左移一格l -光标右移一格j -光标下移一行k -光标上移一行$+A-将光标移动到该行最后d+方向键 -删除文字dd -删除整行pp -整行复制r -修改光标所在的字符S -删除光标所在的列,并进入输入模式2、文本输入模式(Input Mode)a -在光标后开始插入A -在行尾开始插入i -从光标所在位置前面开始插入I -从光标所在列的
4、第一个非空白字元前面开始插入o -在光标所在列下新增一列并进入输入模式O -在光标所在列上方新增一列并进入输入模式ESC -返回命令行模式3、末行模式(Last line Mode):q -结束Vi程序,如果文件有过修改,先保存文件:q! -强制退出Vi程序(不保存修改):wq -保存修改并退出程序ZZ-保存修改并退出程序(在没有开启Caps Lock时按住Shift键再按两个z键):set num -设置行号搬移与复制=利用 delete 及 put 指令可完成资料搬移之目的。利用 yank 及 put 指令可完成资料复制之目的。yank 和 delete 可将指定的资料复制到记忆体缓冲区,
5、而藉由 put 指令可将缓冲区内的资料复制到萤幕上。例:搬移一行 .在该行执行 dd.游标移至目的地.执行 p复制一行 .在该行执行 yy.游标移至目的地.执行 p.指令重复=在指令模式中,可在指令前面加入一数字 n,则此指令动作会重复执行 n次。例:删除10行 .10dd复制10行 .10yy.游标移至目的地.p指标往下移10行 .10j.取消前一动作(Undo)=即复原执行上一指令前的内容。u 恢复最後一个指令之前的结果。U 恢复游标该行之所有改变。.搜寻=在vi中可搜寻某一字串,使游标移至该处。/字串 往游标之後寻找该字串。?字串 往游标之前寻找该字串。n 往下继续寻找下一个相同的字串。
6、N 往上继续寻找下一个相同的字串。.资料的连接=J 句子的连接。将游标所在之下一行连接至游标该行的後面。若某行资料太长亦可将其分成两行,只要将游标移至分开点,进入输入模式(可利用 a、i等指令)再按Enter即可。.环境的设定=:set nu 设定资料的行号。:set nonu 取消行号设定。:set ai 自动内缩。:set noai 取消自动内缩。自动内缩(automatic indentation)在编辑文件或程式时,有时会遇到需要内缩的状况,:set ai即提供自动内缩的功能,用下例解释之:.vi test.(进入编辑视窗後)this is the test for auto inde
7、ntTabstart indent :set ai (设自动内缩)TabdataTabdataTabdata :set noai (取消自动内缩)the end of auto indent.注: 可删除Tab字元。从当前位置删除到行尾d$从当前位置复制到行尾y$ 如果要粘贴到其他地方 p 就可以了13.:%s/old_word/new_word/g这个指令是于在整个文件中替换特定字符串14.光标控制k:上移 nk 上移n行j:下移 nj 下移n行将光标移到第n行,按下 mk将光标移到第m行,按下 ayk即将第n到m的行存到a寄存器,以此类推,b,c.寄存器等这样就可以将你常用的需要复用的内容
8、粘贴到不同的寄存器中以备用想粘贴到某处,直接将光标移到某地,按下 ap 即可,以此类推,b,c.寄存器等在当前屏幕中H 跳到第一行M 跳到中间一行L 跳到最后一行15.表8-2 删除命令删除命令操作d l 删除当前字符(与x命令功能相同)d 0 删除到某一行的开始位置d 删除到某一行的第一个字符位置(不包括空格或TA B字符)d w 删除到某个单词的结尾位置d 3 w 删除到第三个单词的结尾位置d b 删除到某个单词的开始位置d W 删除到某个以空格作为分隔符的单词的结尾位置d B 删除到某个以空格作为分隔符的单词的开始位置d 7 B 删除到前面7个以空格作为分隔符的单词的开始位置d) 删除到
9、某个语句的结尾位置d 4) 删除到第四个语句的结尾位置d( 删除到某个语句的开始位置d 删除到某个段落的结尾位置d 删除到某个段落的开始位置d 7 删除到当前段落起始位置之前的第7个段落位置d d 删除当前行d /t e x t 删除从文本中出现“ t e x t”中所指定字样的位置,一直向前直到下一个该字样所出现的位置(但不包括该字样)之间的内容d fc 删除从文本中出现字符“c”的位置,一直向前直到下一个该字符所出现的位置(包括该字符)之间的内容d tc 删除当前行直到下一个字符“ c”所出现位置之间的内容D 删除到某一行的结尾d $ 删除到某一行的结尾5 d d 删除从当前行所开始的5行内容d L 删除直到屏幕上最后一行的内容d H 删除直到屏幕上第一行的内容d G 删除直到工作缓存区结尾的内容d 1 G 删除直到工作缓存区开始的内容替换命令替换命令操作s 将当前字符替换为一个或多个字符S 将当前行替换为一个或多个字符5 s 将从当前字符开始的5个字符替换为一个或多个字符vi替换使用规则::g/s1/s/s2/s3/g第一个g表示对每一个包括s1的行都进行替换,第二个g表示对每一行包括s1的行所有的s2都用s3替换s表示替换,s2是要被替换的字符串,他可以和s1相同(如果相同的话用/代替),s3是替换字符串
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2