My ediff Settings
Watch the Video Here
(defun dired-ediff-marked-files ()
(interactive)
(let ((marked-files (dired-get-marked-files)))
(unless (= (length marked-files) 2)
(error "You need to mark exactly two files to compare"))
(ediff-files (car marked-files) (cadr marked-files))))
(with-eval-after-load 'dired
(define-key dired-mode-map "=" nil)
(define-key dired-mode-map "=" 'dired-ediff-marked-files))
(setq ediff-diff-options "-w")
(setq ediff-split-window-function 'split-window-horizontally)
(defvar my-ediff-bwin-config nil "Window configuration before ediff.")
(defcustom my-ediff-bwin-reg ?b
"*Register to be set up to hold `my-ediff-bwin-config'
configuration.")
(defun my-ediff-bsh ()
(setq my-ediff-bwin-config (current-window-configuration))
(when (characterp my-ediff-bwin-reg)
(set-register my-ediff-bwin-reg
(list my-ediff-bwin-config (point-marker)))))
(defun my-ediff-qh ()
"Function to be called when ediff quits."
(when my-ediff-bwin-config
(set-window-configuration my-ediff-bwin-config)))
(add-hook 'ediff-before-setup-hook 'my-ediff-bsh)
(add-hook 'ediff-quit-hook 'my-ediff-qh)
(provide 'my-ediff)
Return to Home