oeasy教您玩轉vim - 66 - # 比較修改模式 vimdiff

 

vimdiff

回憶上次

  • 上次有三種批量替換,分別是

    • :windo
    • :bufdo
    • :argdo
  • 執行的{cmd}可以用按順序增加

    • update 自動更新
    • :set autowrite 自動寫入
    • :set hidden 可以隱藏未保存 buffer
  • 分別對應的windowbuffersarguments
  • 各有各自的列表、切換、刪除、增加的方式
  • 多文件多窗口還有什麼可玩的麼?🤔
  • 下次再說 👋

觀察對比

  • 首先編輯一個go.java

圖片描述

  • 連續數字產生方法

    • ctrl-v進入塊·可視化
    • 縱向選中1
    • g之後ctrl-a
    • 完成加法操作

進行修改

  • 對於這個go.java複製粘貼出一個副本

    • :saveas go2.java
    • :e go2.java
    • 新增一行
    • 修改一行
    • 刪除一行
  • 然後保存並退出vim

進行比較

  • vimdiff go.java go2.java
  • vimdiff 就是專門用比較的
  • 後面兩個參數是待比較的文件

圖片描述

  • {1..9}行被摺疊了

    • 因爲都是相同的
  • 16行有修改

    • 紫色的
  • 19行被刪除了

    • 左藍色右青色
    • 右邊是-----------
  • 22行是增加的一行

    • 左青右藍
    • 左邊是-----------

編輯的時候比較

  • :vi go.java
  • 如果文件已經打開
  • :vertical diffsplit go2.java 可以開啓比較

    • 如果vertical被省略
    • 就會橫向打開文件
  • 同步滾動

    • 屬性爲scrollbind
    • 默認同步滾動
    • 可取消同步
  • 遍歷所有的修改change

    • ]c 下一條修改
    • [c 上一條修改
    • 其中

      • [] 指的是跳轉
      • c 指的是 change 變化
  • 根據當前光標位置

    • 把當前的改成對比的

      • do
      • diff obtain
    • 把對比的改成當前的

      • dp
      • diff put

總結

  • 我們可以用vimdiff快速的比較文件
  • 這很實用!!!
  • 實用的一些跳轉方式
  • 遍歷所有的修改change

    • ]c 下一條修改
    • [c 上一條修改
  • 遍歷所有的函數method

    • ]m 下一條修改
    • [m 上一條修改
  • 面對不同點

    • 把當前的改成對比的 - do - diff obtain
    • 把對比的改成當前的 - dp - diff put
  • 關於多窗口
  • 還有什麼好玩的嗎?🤔
  • 下次再說 👋

[Github地址] (https://github.com/overmind1980/oeasyvim)
[Gitee地址] (overmind1980/oeasyvim)
[藍橋實驗樓 邀請碼FJWYIMGB] (oeasy 教您零基礎玩轉編輯神器 vim_Linux - 藍橋雲課)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章