天天看點

正式班D13

2020.10.22星期四  正式班D13

修改檔案内容

  1. vim編輯

    1. vim基礎
      1. 可了解為Windows下的文本編輯器
      2. vim可用來修改配置、寫腳本
      3. 三種模式(指令模式、輸入模式、末行模式)
        1. 指令模式按a(所選後面開始輸入)、A(所選行的行尾)、i(所選前一位輸入)、I(所選行的行首)、o(所選新起下一行)、O(新起上一行)等進入輸入模式
        2. 指令模式按':'鍵進入末行模式
        3. 輸入模式、末行模式進入指令模式
    2. 指令模式
      1. 光标的移動
        1. $ # 光标移動到目前行的行尾
        2. 0 # 光标移動到目前行的行首
        3. gg # 光标移動到首行的行首
        4. G # 光标移動到尾行的行尾
        5. nG # n為數字,光标移動到第n行(20G是移動到20行行首)
        6. H # 光标移動到目前界面首行的行首
        7. h #光标往左移
        8. j # 光标往下移
        9. k # 光标往上移
        10. l # 光标往右移
        11. M # 光标移動到目前界面中間行的行首
        12. L # 光标移動到目前界面尾行的行尾
        13. ^ # 光标移動到第一個非空格字元
      2. 删除、複制、剪切
        1. dd # 剪切、删除光标所在行
        2. ndd # n為數字,即删除光标及往下n行(20dd是删除20行)
        3. yy # 複制光标所在行
        4. nyy # n為數字,即複制光标及往下n行(20yy就是複制20行)
        5. p # 粘貼到光标下一行
        6. P # 粘貼到光标上一行
        7. np # n為次數,5p就是粘貼5次
        8. u # 撤回
        9. CTRL+r # 撤回撤銷
        10. r # 用來修改光标所在的字元
        11. R # 進入替換模式
        12. x # 删除光标所在字元
        13. D # 從光标處删除至行尾
      3. 可視塊
        1. 批量去注釋
          1. 光标移動到需要去注釋的行首
          2. CTRL+v
          3. 上下鍵選擇#
          4. 按"d"
        2. 批量加注釋
          1. 光标移動到需要去注釋的行首
          2. CTRL+v選擇好一列
          3. 按shift+i,按#
          4. 連續按兩次Esc
      4. 查找内容

        /查找的内容

    3. 輸入模式

      CTRL+p 或CTRL+n# 自動補全指令(相當于Tab)

      例如:上文輸入過ifconfig,下文輸入if再按ctrl+p或n可自動補全ifconfig

      例二:上文輸入過print、prend,下文輸入pr再按ctrl+p/n會有兩個選項選擇

    4. 末行模式(:)
      1. 基礎指令
        1. :10 # 進入第十行
        2. :w # 儲存
        3. :q # 退出(:q!強制退出)
        4. :wq # 儲存退出(:wq!強制儲存退出)
        5. :x # (儲存退出)
        6. : set nu # 加行号
        7. : set nonu # 去行号
        8. : set ic # 不區分大小寫
        9. : set ai # 自動縮進
      2. 查找替換
        1. :範圍 s/xxx/yyy/選項
          1. :1,5 s/xxx/yyy/ # 表示從1~5行的首個xxx替換為yyy
          2. :1,$ s/xxx/yyy/ # 表示從1到最後一行的首個xxx替換為yyy
          3. :1,5 s/xxx/yyy/g # 表示從1~5行的全部xxx替換為yyy
          4. :% s/xxx/yyy/ # 表示全文的xxx替換為yyy(%為所有行g為一整行)
          5. :% s/^xxx/yyy/g # 表示以xxx開頭的替換為yyy
          6. :% s/xxx$/yyy/g # 表示以xxx結尾的替換為yyy
          7. :% s/^xxx$/yyy/g # 表示以xxx開頭且以xxx為結尾的替換為yyy
        2. 讀入檔案
          1. :w # 儲存
          2. :w /aaa.txt # 另存為/aaa.txt
          3. :1,3 w/2.txt # 将1~3行另存到/2.txt
          4. :r /etc/hosts # 将/etc/hosts插入到光标下一行
    5. 設定環境
      1. 臨時設定
        1. :set nu # 設定行号
        2. :set nonu # 取消設定行号
        3. :set ic # 不區分大小寫
        4. :set noic # 取消不區分大小寫
        5. :set ai # 自動縮進
        6. :set list # 用$辨別行尾
      2. 永久設定
        1. /etc/vimrc # 影響所有系統使用者
        2. ~/.vimrc # 影響某一個使用者(在家目錄下新增一個檔案)
        3. 輸入set ic及set nu
    6. 同時編輯多個檔案
      1. vim -o 檔案1 檔案2 # 水準分隔

        vim -O 檔案1 檔案2 # 垂直分割

        用CTRL+ww切換

      2. vim -p 檔案1 檔案2

        用CTRL+PgUp,CTRL+PgDn切換

    7. 檔案内容對比

      diff # 檔案對比(no)

      vimdiff # 以vim方式打開兩個檔案對比,高亮顯示不同的内容

      vimdiff 檔案1 檔案2 # 用CTRL+ww切換

    8. vim執行過程

      遇到故障意外退出時,會儲存.swp檔案,再次編輯時會提示

    9. 打更新檔
      1. 建立1.txt和2.txt兩個檔案(1基礎本,2修改版)
      2. diff -u 1.txt 2.txt > a.diff # 以2.txt為準的更新檔檔案
      3. diff -u 2.txt 1.txt > b,diff # 以1.txt為準的更新檔檔案
      4. patch 1.txt a.diff # 将1.txt改成與2.txt一樣(a更新檔打入1.txt)
      5. patch 1.txt b.diff # 将新的1.txt改回原來的1.txt