Emacs has a visual diff'ing tool ediff included by defaultfn1https://www.gnu.org/software/emacs/manual/htmlmono/ediff.html; I use it as it's designed, ediff-buffers and ediff-current-file are common entrypoints. I configure it to work well with EXWM , the default behavior of creating a buncha frames sort of doesn't work with it at all. This view of it creates a new frame, split in two horizontal windows, with the ediff control buffer underneath.
emacs-lisp source:(provide 'cce/ediff-config) (setq ediff-window-setup-function 'ediff-setup-windows-plain ediff-split-window-function 'split-window-horizontally)