zoukankan      html  css  js  c++  java
  • linux下vi的使用

    在Linux下太多的命令都默认使用vi作为数据编辑的接口,所以必须要学会使用vi下的基本命令~

    vi一般有三种模式:一般模式、编辑模式、命令行模式

    模式切换

    • 1、使用vi进入一般模式
    • 2、按下i,进入编辑模式
    • 3、按下[ESC]回到一般模式
    • 4、在一般模式下输入“:wq”保存后离开vi

    按键说明


    一)一般模式下按钮说明:光标移动,复制粘贴,查找替换

                                               移动光标的方法
    
    1、屏幕向下移动一页
        ctrl+f或者键盘右下角“PgDn”
    2、屏幕向上移动一页
        ctrl+b或者键盘右下角“PgUp”
    3、当前行的光标移动到最前面字符处
        0
    4、当前行的光标移动到最后面字符处
        $
    5、移动到文件末尾(最后一行)
        G(即:shift+g)
    6、移动到文件的第一行
        gg(也可以1G)
    7、光标向下移动n行,n为数字,例如2+回车键:向下移动2行
        n[ENTER]
    8、复原上一个操作
        u 例如:eg:使用命令dd删除了一行‘123’,这时可能是误操作,那么恢复操作,就使用u,被删除的一行‘123’就又出现了
    9、重复执行上一个操作
        ctrl+r 然后点击‘.’
    
                                                查找与替换
    
    
    1、向下寻找"/"
        /word--向下寻找word
    2、向上寻找“?”
        ?word
    
        --->n:重复前一个查找动作,例如/word,然后n,则表示向下查找下一个word
        --->N:反向进行前一个查找动作,例如/word,然后按N,则表示向上查找下一个
    3、在第n1与n2行之前寻找word1字符串并替换为word2(n1,n2为数字)
        :n1,n2s/word1/word2/g
        eg:100到200行之间查找hell并替换为HELLO--->:100,200s/hello/HELLO/g
    4、第一行到最后一行之间查找并替换
        :1,$s/word1/word2/g
    5、在替换前显示提示字符给用户进行确认confirm
        :1,$s/word1/word2/gc
    
                                                删除、复制与粘贴
    
    
    1、x为向后删除一个,光标在当前字符上就删除当前字符(相当于del),X为向前删除一个字符(相当于backspace)
    2、删除光标所在的那一行
        dd
    3、删除包含光标所在行的向下的n行
        ndd eg:3dd,删除包含光标所在行共3行,也就是光标行和以下2行
    4、删除光标所在行到第一行的数据(包含光标所在行)
        d1G
    5、删除光标所在行到最后一行的数据(包含光标所在行)
        dG
    6、删除光标所在处到这一行的最后一个字符(包含光标所在字符)
        d$
    7、删除光标所在处到这一行的第一个字符(包含光标所在字符)
        d0
    8、复制光标所在的那一行
        yy--->复制一行,输入yy然后p,在下一行粘贴
    9、复制包含光标所在行在内的n行
        nyy 然后点击p
        p,-->表示将已复制的数据在光标下一行粘贴
        P,-->表示将已复制的数据在光标上一行粘贴
    

    二)一般模式切换到编辑模式

    * 1、i,I 进入编辑模式
        i为从目前光标处插入,I:光标所在行的第一个非空格字符处插入(一般是行首)
    * 2、a,A 进入编辑模式
        a为目前字符的下一个字符开始插入,A为光标行的最后一个字符处开始插入
    * 3、o,O 进入编辑模式
        o目前光标所在下一行输入,O,表示在目前光标所在处上一行输入
    * 4、r,R 进入替换模式
        r替换光标所在的字符一次,R会一直替换光标所在的字符,知道按下ESC键退出
    * 5、【ESC】
        退出编辑模式
    

    三)一般模式切换到命令行模式

    * 1、将编辑的输入写入到硬盘文件
        :w
    * 2、若文件为只读时,强制写入该文件
        :w!
    * 3、不保存退出
        :q
    * 4、强制离开不保存
        :q!
    * 5、保存离开
        :wq   :wq!强制保存离开
    * 6、显示行号
        :set nu
    * 7、不显示行号
        :set nonu
    
  • 相关阅读:
    【基础算法】- 全排列
    【基础算法】- 2分查找
    区块链培训
    Static Binding (Early Binding) vs Dynamic Binding (Late Binding)
    test
    No data is deployed on the contract address!
    "throw" is deprecated in favour of "revert()", "require()" and "assert()".
    Variable is declared as a storage pointer. Use an explicit "storage" keyword to silence this warning.
    京都行
    Failed to write genesis block: database already contains an incompatible
  • 原文地址:https://www.cnblogs.com/zhuyue1/p/6774416.html
Copyright © 2011-2022 走看看