vi中常用指令

vi文本编辑器分为三种模式:一般模式、编辑模式、指令列命令模式

    在三种模式中可以从一般模式转到编辑模式,一般模式转到指令列命令模式,但是编辑模式与指令列模式却不能相互转化,在一般模式下,可以按下[i、I、a、A、o、O、r、R]中任意一个字母进入编辑模式,退出编辑模式按Esc键,从一般模式进入指令列模式,只需按下[:、/、?]任意一个就可以进去到指令列模式。文件编辑好后,在一般模式下按:wq进行归档,如果权限不够是,需要强制写入,命令为:wq!(前提是权限可改变)。

     第一部分:一般模式下可用的按钮说明

      h或者向左箭头←                   光标向左移动一格

       j或者向下箭头↓                     光标向下移动一格

      k或者向上箭头↑                     光标向上移动一格

      l或者向右箭头→                    光标向右移动一格

     如果想进行多次移动的话,例如向下移动20格,可以用20j或者20↓   组合键来实现

     Ctrl +f             屏幕向下移动一页,相当于 Page Down

     Ctrl +b           屏幕向上移动一页,相当于Page Up

     Ctrl +d           屏幕向下移动半页   

     Ctrl +u           屏幕向上移动半页

          +                光标移动到非空格的下一列

          -                 光标移动到非空格的上一列

    n<space>      n是数字,例如输入20,再按下space键,光标就会向后面移动20个字符距离

    0或者功能键[Home]   光标移动到这一行的最前面字符处

    $或者功能键[End]       光标移动到这一行的最后面字符处

    H  光标移到到这个屏幕的最上面那一行的第一个字符

    M  光标移动到这个屏幕的中间的那一行的第一个字符

    L  光标移动到这个屏幕的最下面的那一行的第一个字符

    G  移动到这个档案的最后一行

    nG 移动到这个档案的第n行

    gg移动到这个档案的第一行,相当于1G

    n<Enter>  光标向下移动n行


         搜寻与取代

   /word       向光标下寻找一个名为word的字符串

  ?word     向光标之上寻找一个名为word的字符串

  n   是一个英文按键,表示重复上一步搜寻的动作,例:我们刚刚执行了/bird,按下n时它会继续往下搜寻bird这个字符串

  N  是一个英文按键,与n相反,反向继续进行上一个搜寻动作

  :n1,n2s/word1/word2/g     n1与n2为数字,表示在n1至n2行之间搜寻字符串word1!并将word1替换成word2

  :1,$s/word1/word2/g     从第一行到最后一行搜寻word1,并将word1替换成word2!

  :1,$s/word1/word2/gc    从第一行在最后一行搜寻word1,并将word1替换成word2!并在替换之前提示用户是否确认(confirm)替换!

  

           删除、复制与贴上

    x,X      在一行中,x为向后删除一个字符,相当于del,X为向前删除一个字符,相当于Backspace即退格键

    nx        n为数字,表示连续向后删除n个字符

    dd      删除游标所在的一整列

    ndd      n为数字,表示删除光标所在的向下n列

    d1G     删除光标所在到第一行的所有数据

    dG      删除光标所在到最后一行的所有数据 

    d$      删除光标所在处到这一行的最后一个字符

    d0      那个是数字0,表示删除光标所在处到这一行的第一个字符

    yy       复制游标所在的那一行

    nyy    n为数字,表示复制光标所在处向下的n列

    y1G   复制光标所在列到第一列的所有列

    yG      复制光标所在列到最后一列的所有列

    y0      复制光标所在的那个字符到这一行行首的所有字符

    y$      复制光标所在的那个字符到这一行最后一个字符的所有字符

    p,P    p为将已复制的数据在游标下一行贴上,P则为将已复制的数据在游标的上一行贴上

    j     将光标所在的一行与下一行合并成一行

    c    重复删除多个数据,例如向下删除10行,10cj

    u   复原前一个动作

    Ctrl + r  重做上一个动作

    .        小数点,重复前一个动作


第二部分      一般模式切换的编辑模式可用的按键说明

         i,I         进入insert,i为从光标所在处插入,I为从目前所在行的第一个非空格符处插入

        a,A       进入insert,a为从光标所在处的下一个字符开始插入,A为光标所在行的最后一个字符处开始插入

        o,O       进入insert,o从光标的下一行插入新的一行,O从光标的上一行插入新的一行

         r,R       进入replace,r只会替换光标所在字符一次,R会一直替换光标所在处的字符,知道按Esc键

         Esc键退出编辑模式


第三部分     一般模式进入指令模式可用的按键说明

         :w    将编辑的数据写入到硬盘档案中

         :w!    当文档的权限为只读时,强制写入,不过能不能写入,还得看这个文档的权限是否可改变

         :q     离开vi

         :q!    若改过该档案,又不想保存,可以这样强制离开该档案(感叹号!在vi中,常有强制的意思)

         :wq   存储后离开,:wq!强制存储后离开

         ZZ     若档案没有被改过,则不存储离开,若档案改过,则存储后离开

         :w [filename]     将编辑的数据存储到另一个档案

         :r [filename]    在编辑档案时,将另一个文档的数据读入

         :n1,n2 w [filename]   将n1到n2行的数据存储到filename这个档案中

         :! command    暂时离开vi到指令列模式下执行command的显示结果!例如:!  ls/home    即可在vi当中察看/home底下以ls输出的档案信息

         :set nu  显示行号

          :set nonu    与set nu 相反,为取消行号

  

     

          搜寻与取代
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值