From 8df4ac4867aa84ba31ae0b0a738a39b46e9747a3 Mon Sep 17 00:00:00 2001 From: Derek Taylor Date: Fri, 17 Nov 2023 18:45:13 -0600 Subject: [PATCH 1/4] Adding ediff customization options --- .config/emacs/config.el | 10 ++++++++++ .config/emacs/config.org | 16 ++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/.config/emacs/config.el b/.config/emacs/config.el index 41bb77a..b47a5c8 100644 --- a/.config/emacs/config.el +++ b/.config/emacs/config.el @@ -70,6 +70,16 @@ (evil-define-key 'normal peep-dired-mode-map (kbd "k") 'peep-dired-prev-file) ) +(setq ediff-split-window-function 'split-window-horizontally + ediff-window-setup-function 'ediff-setup-windows-plain) + +(defun dt-ediff-hook () + (ediff-setup-keymap) + (define-key ediff-mode-map "j" 'ediff-next-difference) + (define-key ediff-mode-map "k" 'ediff-previous-difference)) + +(add-hook 'ediff-mode-hook 'dt-ediff-hook) + (use-package elfeed :config (setq elfeed-search-feed-face ":foreground #ffffff :weight bold" diff --git a/.config/emacs/config.org b/.config/emacs/config.org index 865fcf1..8cc559f 100644 --- a/.config/emacs/config.org +++ b/.config/emacs/config.org @@ -14,6 +14,7 @@ - [[#dashboard][DASHBOARD]] - [[#diminish][DIMINISH]] - [[#dired][DIRED]] +- [[#ediff][EDIFF]] - [[#elfeed][ELFEED]] - [[#eradio][ERADIO]] - [[#evil][EVIL]] @@ -165,6 +166,21 @@ This package implements hiding or abbreviation of the modeline displays (lighter #+end_src +* EDIFF +'ediff' is a diff program that is built into Emacs. + +#+begin_src emacs-lisp +(setq ediff-split-window-function 'split-window-horizontally + ediff-window-setup-function 'ediff-setup-windows-plain) + +(defun dt-ediff-hook () + (ediff-setup-keymap) + (define-key ediff-mode-map "j" 'ediff-next-difference) + (define-key ediff-mode-map "k" 'ediff-previous-difference)) + +(add-hook 'ediff-mode-hook 'dt-ediff-hook) +#+end_src + * ELFEED An RSS newsfeed reader for Emacs. Move through the articles with 'j/k'. Move through the stories with 'CTRL j/k' when in other frame. From 0b4853887eb000fc9cc99394e52b03ab237bc602 Mon Sep 17 00:00:00 2001 From: Derek Taylor Date: Fri, 17 Nov 2023 19:04:19 -0600 Subject: [PATCH 2/4] Minor edits --- .config/emacs/config.el | 4 +++- .config/emacs/config.org | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.config/emacs/config.el b/.config/emacs/config.el index b47a5c8..a003968 100644 --- a/.config/emacs/config.el +++ b/.config/emacs/config.el @@ -251,10 +251,12 @@ "d w" '(wdired-change-to-wdired-mode :wk "Writable dired")) (dt/leader-keys - "e" '(:ignore t :wk "Eshell/Eval/EWW") + "e" '(:ignore t :wk "Ediff/Eshell/Eval/EWW") "e b" '(eval-buffer :wk "Evaluate elisp in buffer") "e d" '(eval-defun :wk "Evaluate defun containing or after point") "e e" '(eval-expression :wk "Evaluate and elisp expression") + "e f" '(ediff-files :wk "Run ediff on a pair of files") + "e F" '(ediff-files3 :wk "Run ediff on three files") "e h" '(counsel-esh-history :which-key "Eshell history") "e l" '(eval-last-sexp :wk "Evaluate elisp expression before point") "e r" '(eval-region :wk "Evaluate elisp in region") diff --git a/.config/emacs/config.org b/.config/emacs/config.org index 8cc559f..4528afc 100644 --- a/.config/emacs/config.org +++ b/.config/emacs/config.org @@ -389,10 +389,12 @@ You can use the bindings CTRL plus =/- for zooming in/out. You can also use CTR "d w" '(wdired-change-to-wdired-mode :wk "Writable dired")) (dt/leader-keys - "e" '(:ignore t :wk "Eshell/Eval/EWW") + "e" '(:ignore t :wk "Ediff/Eshell/Eval/EWW") "e b" '(eval-buffer :wk "Evaluate elisp in buffer") "e d" '(eval-defun :wk "Evaluate defun containing or after point") "e e" '(eval-expression :wk "Evaluate and elisp expression") + "e f" '(ediff-files :wk "Run ediff on a pair of files") + "e F" '(ediff-files3 :wk "Run ediff on three files") "e h" '(counsel-esh-history :which-key "Eshell history") "e l" '(eval-last-sexp :wk "Evaluate elisp expression before point") "e r" '(eval-region :wk "Evaluate elisp in region") From 82e1bbbd7110ec86714ac2a33a751819a76ba326 Mon Sep 17 00:00:00 2001 From: Derek Taylor Date: Fri, 17 Nov 2023 19:10:02 -0600 Subject: [PATCH 3/4] Minor edits --- .config/emacs/config.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/emacs/config.org b/.config/emacs/config.org index 4528afc..893452b 100644 --- a/.config/emacs/config.org +++ b/.config/emacs/config.org @@ -167,7 +167,7 @@ This package implements hiding or abbreviation of the modeline displays (lighter #+end_src * EDIFF -'ediff' is a diff program that is built into Emacs. +'ediff' is a diff program that is built into Emacs. By default, 'ediff' splits files vertically and places the 'help' frame in its own window. I have changed this so the two files are split horizontally and the 'help' frame appears as a lower split within the existing window. Also, I create my own 'dt-ediff-hook' where I add 'j/k' for moving to next/prev diffs. By default, this is set to 'n/p'. #+begin_src emacs-lisp (setq ediff-split-window-function 'split-window-horizontally From ada9eb05c6d0f92d0c6f610f2c1db552fe05340e Mon Sep 17 00:00:00 2001 From: Derek Taylor Date: Sat, 18 Nov 2023 08:25:11 -0600 Subject: [PATCH 4/4] Adding pdf-tools and turning off dialogs/popups. --- .config/emacs/config.el | 14 ++++++++++++++ .config/emacs/config.org | 21 ++++++++++++++++++++- 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/.config/emacs/config.el b/.config/emacs/config.el index a003968..ea51173 100644 --- a/.config/emacs/config.el +++ b/.config/emacs/config.el @@ -527,6 +527,17 @@ (require 'org-tempo) +(use-package pdf-tools + :ensure t + :defer t + :commands (pdf-loader-install) + :mode "\\.pdf\\'" + :bind (:map pdf-view-mode-map + ("j" . pdf-view-next-line-or-next-page) + ("k" . pdf-view-previous-line-or-previous-page)) + :init (pdf-loader-install) + :config (add-to-list 'revert-without-query ".pdf")) + (use-package perspective :custom ;; NOTE! I have also set 'SCP =' to open the perspective menu. @@ -577,6 +588,9 @@ (scroll-bar-mode -1) ;; Disable the scroll bar (tool-bar-mode -1) ;; Disable the tool bar (setq org-edit-src-content-indentation 0) ;; Set src block automatic indent to 0 instead of 2. +(setq use-file-dialog nil) ;; No file dialog +(setq use-dialog-box nil) ;; No dialog box +(setq pop-up-windows nil) ;; No popup windows (use-package eshell-toggle :custom diff --git a/.config/emacs/config.org b/.config/emacs/config.org index 893452b..785a0b4 100644 --- a/.config/emacs/config.org +++ b/.config/emacs/config.org @@ -38,6 +38,7 @@ - [[#diminish-org-indent-mode][Diminish Org Indent Mode]] - [[#org-level-headers][Org Level Headers]] - [[#source-code-block-tag-expansion][Source Code Block Tag Expansion]] +- [[#pdfs][PDFs]] - [[#perspective][PERSPECTIVE]] - [[#projectile][PROJECTILE]] - [[#rainbow-delimiters][RAINBOW DELIMITERS]] @@ -758,6 +759,22 @@ Org-tempo is not a separate package but a module within org that can be enabled. (require 'org-tempo) #+end_src +* PDFs +Handle viewing and annotating pdf's. + +#+begin_src emacs-lisp +(use-package pdf-tools + :defer t + :commands (pdf-loader-install) + :mode "\\.pdf\\'" + :bind (:map pdf-view-mode-map + ("j" . pdf-view-next-line-or-next-page) + ("k" . pdf-view-previous-line-or-previous-page)) + :init (pdf-loader-install) + :config (add-to-list 'revert-without-query ".pdf")) + +#+end_src + * PERSPECTIVE [[https://github.com/nex3/perspective-el][Perspective]] provides multiple named workspaces (or "perspectives") in Emacs, similar to multiple desktops in window managers. Each perspective has its own buffer list and its own window layout, along with some other isolated niceties, like the [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Xref.html][xref]] ring. @@ -834,7 +851,9 @@ The following settings are simple modes that are enabled (or disabled) so that E (scroll-bar-mode -1) ;; Disable the scroll bar (tool-bar-mode -1) ;; Disable the tool bar (setq org-edit-src-content-indentation 0) ;; Set src block automatic indent to 0 instead of 2. - +(setq use-file-dialog nil) ;; No file dialog +(setq use-dialog-box nil) ;; No dialog box +(setq pop-up-windows nil) ;; No popup windows #+end_src * SHELLS AND TERMINALS