我只是想从终端向 emacs 提供两个文件,它应该在两个单独的窗口中以差异模式打开它们。
问问题
1106 次
1 回答
3
您正在寻找 ediff。在 emacs 中,您可以通过 Mx ediff 和文件名来激活它。要从命令行调用它,请尝试这样的操作(取自emacs wiki):
(defun command-line-diff (switch)
(let ((file1 (pop command-line-args-left))
(file2 (pop command-line-args-left)))
(ediff file1 file2)))
(add-to-list 'command-switch-alist '("diff" . command-line-diff))
;; Usage: emacs -diff file1 file2
为了让您从这里开始,这里有一些额外的“更明智的”默认值”
;; saner ediff default
(setq ediff-diff-options "-w")
(setq ediff-split-window-function 'split-window-horizontally)
(setq ediff-window-setup-function 'ediff-setup-windows-plain)
这些将始终拆分为并排的 ediff 窗口。
如果您想始终强制使用新框架(这样更干净),请另外尝试以下操作:
(add-hook 'ediff-before-setup-hook 'new-frame)
(add-hook 'ediff-quit-hook 'delete-frame)
我希望这对开始有帮助。
于 2013-09-02T12:18:37.810 回答