日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python vimdiff_技巧:Vimdiff 使用

發布時間:2024/3/13 python 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python vimdiff_技巧:Vimdiff 使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先保證系統中的diff命令是可用的。Vim的diff模式是依賴于diff命令的。Vimdiff的基本用法就是:

# vimdiff FILE_LEFT FILE_RIGHT

或者 # vim -d FILE_LEFT FILE_RIGHT

除了用這種方法啟動vim的diff模式之外,我們還可以用分割窗口命令來啟動diff模式:

# vim FILE_LEFT

然后在vim的ex模式(也就是"冒號"模式)下輸入:

:vertical diffsplit FILE_RIGHT

也可以達到同樣的效果。如果希望交換兩個窗口的位置,或者希望改變窗口的分割方式,可以使用下列命令:

1. Ctrl-w K(把當前窗口移到最上邊)

2. Ctrl-w H(把當前窗口移到最左邊)

3. Ctrl-w J(把當前窗口移到最下邊)

4. Ctrl-w L(把當前窗口移到最右邊)

其中1和3兩個操作會把窗口改成水平分割方式。

接下來試試在行間移動光標,可以看到左右兩側的屏幕滾動是同步的。這是因為"scrollbind"選項被設置了的結果,vim會盡力保證兩側文件的對齊。如果不想要這個特性,可以設置:

:set noscrollbind

可以使用快捷鍵在各個差異點之間快速移動。跳轉到下一個差異點:

]c

反向跳轉是:

[c

如果在命令前加上數字的話,可以跳過一個或數個差異點,從而實現跳的更遠。比如如果在位于第一個差異點的行輸入"2]c",將越過下一個差異點,跳轉到第三個差異點。

文件比較的最終目的之一就是合并,以消除差異。如果希望把一個差異點中當前文件的內容復制到另一個文件里,可以使用命令

dp (diff "put")

如果希望把另一個文件的內容復制到當前行中,可以使用命令

do (diff "get",之所以不用dg,是因為dg已經被另一個命令占用了)

如果希望手工修改某一行,可以使用通常的vim操作。如果希望在兩個文件之間來回跳轉,可以用下列命令序列:

Ctrl-w, w

在修改一個或兩個文件之后,vimdiff會試圖自動來重新比較文件,來實時反映比較結果。但是也會有處理失敗的情況,這個時候需要手工來刷新比較結果:

:diffupdate

如果希望撤銷修改,可以和平常用vim編輯一樣,直接

, u

但是要注意一定要將光標移動到需要撤銷修改的文件窗口中。

在比較和合并告一段落之后,可以用下列命令對兩個文件同時進行操作。比如同時退出:

:qa (quit all)

如果希望保存全部文件:

:wa (write all)

或者是兩者的合并命令,保存全部文件,然后退出:

:wqa (write, then quit all)

如果在退出的時候不希望保存任何操作的結果:

:qa! (force to quit all)

比較和合并文件的時候經常需要結合上下文來確定最終要采取的操作。Vimdiff 缺省是會把不同之處上下各 6 行的文本都顯示出來以供參考。其他的相同的文本行被自動折疊。如果希望修改缺省的上下文行數,可以這樣設置:

:set diffopt=context:3

可以用簡單的折疊命令來臨時展開被折疊的相同的文本行:

zo (folding open,之所以用z這個字母,是因為它看上去比較像折疊著的紙)

然后可以用下列命令來重新折疊:

zc (folding close)

下圖是設置上下文為3行,并展開了部分相同文本的vimdiff屏幕:

在無法使用圖形化的比較工具的時候,或者在需要快速比較和合并少量文件的時候,Vimdiff是最好的選擇。

總結

以上是生活随笔為你收集整理的python vimdiff_技巧:Vimdiff 使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。