2010-11-11 57 views
4

我正在使用JEdit和JDiff插件進行文件比較。現在我想使用命令行參數從另一個工具中打開JDiff插件。這可能嗎?到目前爲止,我只能打開我想在JEdit中比較的2個文件。從命令行打開JEdit JDiff-Plugin

回答

2

這幾乎工程.....我只是不能宏其他文件被加載後執行...

將這個宏在文件中。

view.splitVertically(); 
editPane.prevBuffer(); 
jdiff.DualDiff.toggleFor(view); 

如果你在Linux或Mac上,把它放在~/.jedit/macros/split_wins_and_jdiff.bsh。如果您使用的是Windows,把它放在某個地方......(c:/split_wins_and_jdiff.bsh也許?)

然後運行:

java -jar jedit.jar -noserver -norestore \ 
    -run=$HOME/.jedit/macros/split_wins_and_jdiff.bsh\ 
    file_on_left file_on_right 

的問題是,我不能讓宏後初始化運行,所以這種方法會導致錯誤。如果你確定有這樣兩個步驟,那麼你可以做:

設置

  • 安裝在您的宏區域上面的宏(~/.jedit/macros在Linux,Mac)
  • 創建快捷鍵的宏:
    • 點擊工具 - >全局選項
    • 在面板左側,選擇「快捷方式」
    • 在過濾器中,鍵入「split_wins_and_jdiff」該單元格以的「split_wins_and_jdiff」右側和下面的「初級捷徑」
    • 做的命令序列
    • 雙擊(我的宏命令序列總是與CTRL +開始m。我認爲這是一個JEDIT約定...)
    • 節省通過點擊 「確定」 按鈕

快捷方式如何每當你想使用

快速jdiff 2文件: *打開這兩個文件:

java -jar jedit.jar -noserver -norestore file_on_left file_on_right 
  • 在jedit加載之後,使用您創建的快捷方式運行您的宏。

沒有宏

順便說一句,你能做到這一切,沒有宏,如果創建JDiff快捷方式(對我來說是CTRL + 轉變 + dd

  • 打開這兩個文件:

    Java的罐子jedit.jar -noserver -norestore file_on_left file_on_right

  • 分割屏幕垂直

    CTRL +

  • 在右側屏幕(這是現在選擇在分割之後),循環到另一個緩衝器ctrl + page-up

  • 打開JDiff與您的快捷方式(對我來說CTRL ++dd

在jEdit的創建宏是死的簡單。您可以簡單地記錄它們,它們將彈出一個新的緩衝區,您可以在其中查看實際的宏代碼。這是我爲創建宏而做的。嘗試探索宏菜單和宏用法。

1

我意識到這是一個古老的問題,但我前幾天碰到了這個。我建立了像Ross的答案一樣運行beanshell腳本的想法。我相信我有一切工作(不必手動運行宏),並認爲我會在這裏貢獻自己的感謝,指導我朝着正確的方向前進。

這裏是我的整個設置getting jEdit to diff from the command line,它包括使用jEdit作爲Git的「difftool」。 PS:我想讓這是Ross的回答的後續,但我是新來的,並沒有意識到我需要貨幣來評論答案。

+0

謝謝。 4年後,讓我朝正確的方向發展。 – user1712447 2017-05-09 19:37:38

+0

這應該是正確的答案 - 但您能否解釋爲什麼您的解決方案不會遭受Ross在[此答案](http://stackoverflow.com/a/4158013/1712447)中的問題:_問題是,我無法讓宏在初始化後運行_ – user1712447 2017-05-09 19:49:14

+1

三年後的四年後。甜! IIRC文件實際上在腳本運行之前加載,但它們所在的編輯窗格尚未設置爲「活動」編輯窗格(或其他)。我的腳本搜索所有緩衝區集,直到它找到感興趣的文件緩衝區,並確保這些窗格處於活動狀態(這使jDiff有機會完成其工作)。如果您稍等片刻,這些窗格會自動生效。但是,我可能是錯的。這全是來自記憶。幾年前,我回到了Vim,而我的大腦已經變成了糟糕的VimL腳本。 – 2017-05-10 22:15:38