Linux中國

給中級 Meld 用戶的有用技巧

Meld 是 Linux 上功能豐富的可視化比較和合併工具。如果你是第一次接觸,你可以進入我們的初學者指南,了解該程序的工作原理,如果你已經閱讀過或正在使用 Meld 進行基本的比較/合併任務,你將很高興了解本教程的東西,在本教程中,我們將討論一些非常有用的技巧,這將讓你使用工具的體驗更好。

但在我們跳到安裝和解釋部分之前,值得一提的是,本教程中介紹的所有說明和示例已在 Ubuntu 14.04 上進行了測試,而我們使用的 Meld 版本為 3.14.2

1、 跳轉

你可能已經知道(我們也在初學者指南中也提到過這一點),標準滾動不是在使用 Meld 時在更改之間跳轉的唯一方法 - 你可以使用向上和向下箭頭鍵輕鬆地從一個更改跳轉到另一個更改位於編輯區域上方的窗格中:

Navigating in Meld

但是,這需要你將滑鼠指針移動到這些箭頭,然後再次單擊其中一個(取決於你要去哪裡 - 向上或向下)。你會很高興知道,存在另一種更簡單的方式來跳轉:只需使用滑鼠的滾輪即可在滑鼠指針位於中央更改欄上時進行滾動。

The change bar

這樣,你就可以在視線不離開或者分心的情況下進行跳轉,

2、 可以對更改進行的操作

看下上一節的最後一個屏幕截圖。你知道那些黑箭頭做什麼吧?默認情況下,它們允許你執行合併/更改操作 - 當沒有衝突時進行合併,並在同一行發生衝突時進行更改。

但是你知道你可以根據需要刪除個別的更改么?是的,這是可能的。為此,你需要做的是在處理更改時按下 Shift 鍵。你會觀察到箭頭被變成了十字架。

Things you can do with changes

只需點擊其中任何一個,相應的更改將被刪除。

不僅是刪除,你還可以確保衝突的更改不會在合併時更改行。例如,以下是一個衝突變化的例子:

Delete changes in Meld

現在,如果你點擊任意兩個黑色箭頭,箭頭指向的行將被改變,並且將變得與其他文件的相應行相似。只要你想這樣做,這是沒問題的。但是,如果你不想要更改任何行呢?相反,目的是將更改的行在相應行的上方或下方插入到其他文件中。

我想說的是,例如,在上面的截圖中,需要在 「test23」 之上或之下添加 「test 2」,而不是將 「test23」 更改為 「test2」。你會很高興知道在 Meld 中這是可能的。就像你按下 Shift 鍵刪除注釋一樣,在這種情況下,你必須按下 Ctrl 鍵。

你會觀察到當前操作將被更改為插入 - 雙箭頭圖標將確認這一點 。

Change actions

從箭頭的方向看,此操作可幫助用戶將當前更改插入到其他文件中的相應更改 (如所選擇的)。

3、 自定義文件在 Meld 的編輯器區域中顯示的方式

有時候,你希望 Meld 的編輯區域中的文字大小變大(為了更好或更舒適的瀏覽),或者你希望文本行被包含而不是脫離視覺區域(意味著你不要想使用底部的水平滾動條)。

Meld 在 Editor 選項卡(Edit->Preferences->Editor)的 Preferences 菜單中提供了一些顯示和字體相關的自定義選項,你可以進行這些調整:

Meld preferences

在這裡你可以看到,默認情況下,Meld 使用系統定義的字體寬度。只需取消選中 Font 類別下的框,你將有大量的字體類型和大小選項可供選擇。

然後在 Display 部分,你將看到我們正在討論的所有自定義選項:你可以設置 Tab 寬度、告訴工具是否插入空格而不是 tab、啟用/禁用文本換行、使Meld顯示行號和空白(在某些情況下非常有用)以及使用語法突出顯示。

4、 過濾文本

有時候,並不是所有的修改都是對你很重要的。例如,在比較兩個 C 編程文件時,你可能不希望 Meld 顯示注釋中的更改,因為你只想專註於與代碼相關的更改。因此,在這種情況下,你可以告訴 Meld 過濾(或忽略)與注釋相關的更改。

例如,這裡是 Meld 中的一個比較,其中由工具高亮了注釋相關更改:

Filter Text in Meld

而在這種情況下,Meld 忽略了相同的變化,僅關注與代碼相關的變更:

Ignore Changes in Meld

很酷,不是嗎?那麼這是怎麼回事?為此,我是在 「Edit->Preferences->Text Filters」 標籤中啟用了 「C comments」 文本過濾器:

C-Comments in Meld

如你所見,除了 「C comments」 之外,你還可以過濾掉 C++ 注釋、腳本注釋、引導或所有的空格等。此外,你還可以為你處理的任何特定情況定義自定義文本過濾器。例如,如果你正在處理日誌文件,並且不希望 Meld 高亮顯示特定模式開頭的行中的更改,則可以為該情況定義自定義文本過濾器。

但是,請記住,要定義一個新的文本過濾器,你需要了解 Python 語言以及如何使用該語言創建正則表達式。

總結

這裡討論的所有四個技巧都不是很難理解和使用(當然,除了你想立即創建自定義文本過濾器),一旦你開始使用它們,你會認為他們是真的有好處。這裡的關鍵是要繼續練習,否則你學到的任何技巧不久後都會忘記。

你還知道或者使用其他任何中級 Meld 的貼士和技巧么?如果有的話,歡迎你在下面的評論中分享。

via: https://www.howtoforge.com/tutorial/beginners-guide-to-visual-merge-tool-meld-on-linux-part-2/

作者:Ansh 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國