4

我正在使用 JEdit 和 JDiff 插件进行文件比较。现在我想使用命令行参数从另一个工具打开 JDiff 插件。这可能吗?到目前为止,我只能打开我想在 JEdit 中比较的 2 个文件。

4

2 回答 2

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 两个文件时: * 打开这两个文件:

java -jar jedit.jar -noserver  -norestore file_on_left file_on_right 
  • 在 jedit 加载后,立即使用您创建的快捷方式运行宏。

没有宏

顺便说一句,如果您为 JDiff 创建一个快捷方式(对我来说是 ++,),您可以在没有宏的情况下ctrl完成所有shift这些操作dd

  • 打开两个文件:

    java -jar jedit.jar -noserver -norestore file_on_left file_on_right

  • 垂直分割屏幕

    ctrl+3

  • 在右侧屏幕上(现在在拆分后选择),使用ctrl+循环到另一个缓冲区page-up

  • 使用您的快捷方式打开 JDiff(对我来说是ctrl++ ,shiftdd

在 jedit 中创建宏非常简单。您可以简单地记录它们,它们会在一个新的缓冲区中弹出,您可以在其中查看实际的宏代码。这就是我为创建宏所做的。尝试探索宏菜单和宏用法。

于 2010-11-11T18:41:44.730 回答
1

我意识到这是一个老问题,但前几天我遇到了这个问题。我建立在运行 beanshell 脚本的想法上,就像罗斯的回答一样。我相信我让一切正常工作(无需手动运行宏),并认为我会在这里做出贡献,说“谢谢”引导我朝着正确的方向前进。

这是我让 jEdit 从命令行进行 diff的整个设置,它包括使用 jEdit 作为 Git 的“difftool”。

PS:我想将此作为罗斯答案的后续行动,但我是新来的,并没有意识到我需要货币来评论答案。

于 2013-09-11T13:12:39.487 回答