• vi 使用簡介


        當要建立或編輯一個文字檔, 可用此命令, 例鍵入 vi aaa  得如下之畫面 :


     ╭──────────╮
     │_                                      │ <─ 游標位置
     │~                                    │ ╮
     │~                                    │ │
     │~                                    │ │
     │~                                    │ │
     │~                                    │ │
     │~                                    │ ├ 空行(Null)
     │~                                    │ │
     │~                                    │ │
     │~                                    │ │
     │~                                    │ │
     │~                                    │ ╯
     │"aaa" [New file]                │ <─ 訊息列及冒號":"命令列
     ╰──────────╯


    此時若要輸入字元, 需先鍵入命令 a、A、i、I、o、O 中的其中一個然後再輸入本文,
    其中若鍵入 <┘將新增一行並可繼續輸入, 輸入完畢後要按下 ESC 鍵, 此時若要結束
    存檔鍵入 :wq 即可。

    以上程序包含了 vi 的主要三個模式 :
    1. 命令模式 : 當進入 vi 時即在此模式下, 可鍵入任何命令, 如上例鍵入 i 命令。
    2. 輸入模式 : 當要插入本文或修改字串時, 即須變入此模式, 如上例鍵入 i 命令後
                  之狀況, 結束時按下 ESC 鍵又回到命令模式。
    3. :(冒號)命令模式 : 在命令模式鍵入:(冒號)則游標移至最下一列, 主要是鍵入 ex
                         之命令及其參數, 如上例 :wq。

    基本的 vi 命令
    ==============

      vi filename  編輯或建立檔案
      vi +18 filename  開啟檔案到第 18 行
      vi +/"mustard greens" filename  開啟檔案到第一個出現 "mustard green" 處
      vi -r filename  編輯上次編輯中斷的檔案
      view filename  開啟檔案為僅讀
      h  向左移一個字元
      j  向下移一個字元
      k  向上移一個字元
      l  向右移一個字元
      w  向右移一個字
      W  向右移一個字(通過標點符號)
      b  向左移一個字
      B  向左移一個字(通過標點符號)
      Return  向下移一行
      Backspace(倒退鍵)  向左移一個字元
      Space Bar(空白鍵)  向右移一個字元
      H  移至螢幕頂端
      M  移至螢幕中間
      L  移至螢幕底部
      Ctrl-F  向前捲動一個螢幕
      Ctrl-D  向前捲動半個螢幕
      Ctrl-B  向後捲動一個螢幕
      Ctrl-U  向後捲動半個螢幕
      a  在游標右方插入字元
      A  在行尾游標右方插入字元
      i  在游標左方插入字元
      I  在行首游標左方插入字元
      o  在游標下面插入一行
      O  在游標上面插入一行
      cw   改變字 (一個字當中游標的右方部份)
      cc   改變行
      C    改變一行中游標右方的部份
      s    以字串代替游標所在的字元
      r    以另一字元代替游標所在的字元
      r-Return   將行切斷
      J    將目前行和下一行連結
      xp   將游標所在字元與右邊字元對調
      ~  改變字母大小寫
      u    取消前一個命令
      U    取消對行所作的所有改變
      :u   取消前一個最後一行命令
      x    刪除字元
      dw   刪除字 (一個字當中游標的右方部份)
      dd   刪除行
      D    刪除本行中游標右邊的部份
      :5,10 d   刪除第 5 行到第 10 行
      yy  yank 或複製行
      v    选择复制块起点
      y   选择复制块终点
      P   將 yanked 或要刪除的行放在目前行的下面
      p   將 yanked 或要刪除的行放在目前行的下面
      :2,6 co 8 複製第 2 行到第 6 行並置於第 8 行後
      :4,5 m 6  將第 4 行到第 5 行搬移至第 6 行後
      :set nu  設定行號
      :set nonu  隱藏行號
      G  到檔案的最後一行
      21G  到第 21 行
      /string/  搜尋字串
      ?string?  往回搜尋字串
      n         找尋字串下一次出現的地方
      :g/search-string/s//replace-string/g 搜尋字串並替換字串
      Ctrl-L  清除螢幕
      :r filename  讀取檔案於游標所在行以後
      :34 r filename  34 行以後讀入檔案
      :w  儲存檔案
      :w filename  儲存於所指定的檔案
      :wq  儲存內容並跳出 vi
      ZZ   儲存內容並跳出 vi
      :q!  跳出 vi 但不儲存內容

  • 相关阅读:
    8u111-jdk-alpine 字体缺少FontConfiguration的NullPointerException错误解决方案
    Mybatis插件原理
    Mybaits 分页
    @requestBody 和@RequestParam
    Mybaits 生产mapper
    powerDesigner 生成SQL时没有注释问题
    HashMap 的 put过程
    Java的锁
    Java1.8 JVM配置 GC日志输出
    Windows 安装两个MYSQL实例
  • 原文地址:https://www.cnblogs.com/huqingyu/p/33469.html
Copyright © 2020-2023  润新知