我正在使用 JEdit 和 JDiff 插件进行文件比较。现在我想使用命令行参数从另一个工具打开 JDiff 插件。这可能吗?到目前为止,我只能打开我想在 JEdit 中比较的 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++ ,shift)dd
在 jedit 中创建宏非常简单。您可以简单地记录它们,它们会在一个新的缓冲区中弹出,您可以在其中查看实际的宏代码。这就是我为创建宏所做的。尝试探索宏菜单和宏用法。
我意识到这是一个老问题,但前几天我遇到了这个问题。我建立在运行 beanshell 脚本的想法上,就像罗斯的回答一样。我相信我让一切正常工作(无需手动运行宏),并认为我会在这里做出贡献,说“谢谢”引导我朝着正确的方向前进。
这是我让 jEdit 从命令行进行 diff的整个设置,它包括使用 jEdit 作为 Git 的“difftool”。
PS:我想将此作为罗斯答案的后续行动,但我是新来的,并没有意识到我需要货币来评论答案。