我只是想从终端向emacs提供两个文件,它应该在diff模式下在两个独立的窗口中打开它们。
答案 0 :(得分:3)
你在寻找ediff。在emacs中,您可以通过M-x 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”默认值“
;; 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)
这些将始终拆分为并排编辑窗口。
如果你想总是强制一个新的框架(这样更清洁),另外试试这些:
(add-hook 'ediff-before-setup-hook 'new-frame)
(add-hook 'ediff-quit-hook 'delete-frame)
我希望这有助于开始。