From f09d14b923b65cab952433d46dd1a58cc78aab95 Mon Sep 17 00:00:00 2001 From: Chris Cochrun Date: Sat, 24 Apr 2021 05:36:15 -0500 Subject: [PATCH] Removing undo-tree and other little changes --- README.org | 130 ++++++++++++++++++++++++++++++++++++++++------------- init.el | 85 ++++++++++++++++++++++++----------- 2 files changed, 158 insertions(+), 57 deletions(-) diff --git a/README.org b/README.org index 54d9cafd..d6f96e84 100644 --- a/README.org +++ b/README.org @@ -9,10 +9,13 @@ - [[#keep-folders-clean][Keep Folders Clean]] - [[#ligatures][Ligatures]] - [[#keybindings][Keybindings]] + - [[#emoji][Emoji]] - [[#undo-tree][Undo-Tree]] + - [[#undo-fu][Undo-Fu]] - [[#better-ui][Better UI]] - [[#completion][Completion]] - [[#navigation][Navigation]] + - [[#window-management][Window Management]] - [[#help][Help]] - [[#format][Format]] - [[#languages][Languages]] @@ -25,11 +28,11 @@ - [[#sly][Sly]] - [[#pdf-tools][PDF-Tools]] - [[#epub][EPUB]] - - [[#window-management][Window Management]] - [[#elfeed][Elfeed]] - [[#bongo][Bongo]] - [[#transmission][Transmission]] - [[#performance][Performance]] + - [[#logging][Logging]] - [[#early-init][Early Init]] * Init @@ -272,10 +275,10 @@ There are two major packages we need to get the functionality I desire. Evil and evil-want-C-i-jump nil evil-want-C-u-scroll t evil-respect-visual-line-mode t - evil-want-C-u-delete t) + evil-want-C-u-delete t + evil-undo-system 'undo-redo) :config - (evil-mode +1) - (setq evil-undo-system 'undo-tree)) + (evil-mode +1)) #+end_src This evil-collection package includes a lot of other evil based things. @@ -347,18 +350,52 @@ This evil-collection package includes a lot of other evil based things. (global-evil-surround-mode +1)) #+end_src -** Undo-Tree +** Emoji +In order to render color emojis I'll use =unicode-fonts=. #+begin_src emacs-lisp +(use-package unicode-fonts + :ensure t + :config + (unicode-fonts-setup)) +#+end_src + +Or maybe I'll use =emojify=. +#+begin_src emacs-lisp +(use-package emojify + :ensure t + :hook (after-init . global-emojify-mode) + :config + (setq emojify-display-style 'image) + :general + (chris/leader-keys + :states 'normal + :keymaps 'override + "se" '(emojify-insert-emoji :which-key "insert emoji"))) +#+end_src + +** Undo-Tree +I no longer use this since I primarily use Emacs 28 across my machines and have used Emacs's built in undo-redo. +#+begin_src emacs-lisp :tangle no (use-package undo-tree :after evil :config (global-undo-tree-mode +1) + (setq evil-undo-system 'undo-tree) :general - (general-def 'normal undo-tree-visualize-mode-map + (general-def 'normal undo-tree-visualizer-mode-map "j" 'undo-tree-visualize-redo "k" 'undo-tree-visualize-undo)) #+end_src +** Undo-Fu +The same applies here as did =undo-tree= I no longer use this since I primarily use Emacs 28 across my machines and have used Emacs's built in undo-redo. +#+begin_src emacs-lisp :tangle no +(use-package undo-fu + :after evil + :config + (setq evil-undo-system 'undo-fu)) +#+end_src + ** Better UI *** Olivetti #+begin_src emacs-lisp :tangle no @@ -545,12 +582,14 @@ Marginalia makes for some great decoration to our minibuffer completion items. W #+begin_src emacs-lisp (use-package company :defer 1 - :config (global-company-mode +1)) + :config + (global-company-mode +1) + (setq company-dabbrev-other-buffers t)) #+end_src #+begin_src emacs-lisp (use-package company-dict - :defer t) + :after company) #+end_src ** Navigation @@ -579,6 +618,29 @@ Ace link provides an avy like search for links. Upon using the keybindings prese (use-package ace-link :after avy) #+end_src + +** Window Management +#+begin_src emacs-lisp +(setq display-buffer-alist + '(("\\*e?shell\\*" + (display-buffer-pop-up-frame)) + ("*helpful*" + (display-buffer-pop-up-frame)) + ("*elfeed-entry*" + (display-buffer-pop-up-frame)) + ("*Bongo-Elfeed Queue*" + (display-buffer-pop-up-frame)))) +#+end_src + +Since I like to make my window manager handle a lot of the window management, I will create a helper function for closing windows. +#+begin_src emacs-lisp +(defun chris/kill-buffer-frame () + "Kills the active buffer and frame" + (interactive) + (kill-this-buffer) + (delete-frame)) +#+end_src + ** Help #+begin_src emacs-lisp (use-package helpful @@ -764,8 +826,11 @@ Part of this config includes some special capture templates for my work as a you (org-babel-do-load-languages 'org-babel-load-languages '((emacs-lisp . t) (python . t) + (ditaa . t) (shell . t))) + (setq org-ditaa-jar-path "/usr/bin/ditaa") + (require 'org-tempo) (add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp")) (add-to-list 'org-structure-template-alist '("py" . "src python")) @@ -873,6 +938,7 @@ Part of this config includes some special capture templates for my work as a you org-document-info-keyword org-meta-line org-table + org-date org-verbatim)) (set-face-attribute `,face nil :inherit 'fixed-pitch)) @@ -881,6 +947,8 @@ Part of this config includes some special capture templates for my work as a you (setq org-refile-targets '((org-agenda-files . (:maxlevel . 6)))) + (setq org-agenda-window-setup 'other-frame) + :general (chris/leader-keys :states 'normal @@ -1502,6 +1570,24 @@ Let's add our own eshell prompt. and set the password cache to a significantly h "C-d" 'chris/kill-buffer-frame)) #+end_src +*** Eshell Aliases +I love using eshell, so lets make some commands even easier with aliases. +#+begin_src emacs-lisp +(setq eshell-command-aliases-list + '(("ls" "exa $1") + ("la" "exa -la $1") + ("q" "exit") + ("f" "find-file $1") + ("ff" "find-file $1") + ("d" "dired $1") + ("bd" "eshell-up $1") + ("rg" "rg --color=always $*") + ("ll" "ls -lah $*") + ("gg" "magit-status") + ("clear" "clear-scrollback") + ("!c" "eshell-previous-input 2"))) +#+end_src + ** Sly Using sly makes a lot better common-lisp interaction within emacs. #+begin_src emacs-lisp @@ -1529,28 +1615,6 @@ Let's use pdf-tools for a lot better interaction with pdfs. (add-hook 'nov-mode-hook 'olivetti-mode)) #+end_src -** Window Management -#+begin_src emacs-lisp -(setq display-buffer-alist - '(("\\*e?shell\\*" - (display-buffer-pop-up-frame)) - ("*helpful*" - (display-buffer-pop-up-frame)) - ("*elfeed-entry*" - (display-buffer-pop-up-frame)) - ("*Bongo-Elfeed Queue*" - (display-buffer-pop-up-frame)))) -#+end_src - -Since I like to make my window manager handle a lot of the window management, I will create a helper function for closing windows. -#+begin_src emacs-lisp -(defun chris/kill-buffer-frame () - "Kills the active buffer and frame" - (interactive) - (kill-this-buffer) - (delete-frame)) -#+end_src - ** Elfeed #+begin_src emacs-lisp (use-package elfeed @@ -1738,6 +1802,12 @@ Let's also use an automatic garbage collector while idle to make better input. gcmh-verbose t)) #+end_src +** Logging +Using Emacs 28 there are a lot of comp warnings so I am suppressing those for a quieter compilation. +#+begin_src emacs-lisp +(setq warning-suppress-types '((comp))) +#+end_src + * Early Init :PROPERTIES: :header-args: emacs-lisp :tangle early-init.el diff --git a/init.el b/init.el index 4dee9d2b..194a3404 100644 --- a/init.el +++ b/init.el @@ -168,10 +168,10 @@ evil-want-C-i-jump nil evil-want-C-u-scroll t evil-respect-visual-line-mode t - evil-want-C-u-delete t) + evil-want-C-u-delete t + evil-undo-system 'undo-redo) :config - (evil-mode +1) - (setq evil-undo-system 'undo-tree)) + (evil-mode +1)) (use-package evil-collection :after evil @@ -233,14 +233,21 @@ :config (global-evil-surround-mode +1)) -(use-package undo-tree - :after evil +(use-package unicode-fonts + :ensure t :config - (global-undo-tree-mode +1) + (unicode-fonts-setup)) + +(use-package emojify + :ensure t + :hook (after-init . global-emojify-mode) + :config + (setq emojify-display-style 'image) :general - (general-def 'normal undo-tree-visualize-mode-map - "j" 'undo-tree-visualize-redo - "k" 'undo-tree-visualize-undo)) + (chris/leader-keys + :states 'normal + :keymaps 'override + "se" '(emojify-insert-emoji :which-key "insert emoji"))) (use-package visual-fill-column :after org @@ -327,10 +334,12 @@ vertically." (use-package company :defer 1 - :config (global-company-mode +1)) + :config + (global-company-mode +1) + (setq company-dabbrev-other-buffers t)) (use-package company-dict - :defer t) + :after company) (use-package avy :after evil) @@ -348,6 +357,22 @@ vertically." (use-package ace-link :after avy) +(setq display-buffer-alist + '(("\\*e?shell\\*" + (display-buffer-pop-up-frame)) + ("*helpful*" + (display-buffer-pop-up-frame)) + ("*elfeed-entry*" + (display-buffer-pop-up-frame)) + ("*Bongo-Elfeed Queue*" + (display-buffer-pop-up-frame)))) + +(defun chris/kill-buffer-frame () + "Kills the active buffer and frame" + (interactive) + (kill-this-buffer) + (delete-frame)) + (use-package helpful :commands (helpful-callable helpful-variable helpful-command helpful-key) :general @@ -466,8 +491,11 @@ vertically." (org-babel-do-load-languages 'org-babel-load-languages '((emacs-lisp . t) (python . t) + (ditaa . t) (shell . t))) + (setq org-ditaa-jar-path "/usr/bin/ditaa") + (require 'org-tempo) (add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp")) (add-to-list 'org-structure-template-alist '("py" . "src python")) @@ -575,6 +603,7 @@ vertically." org-document-info-keyword org-meta-line org-table + org-date org-verbatim)) (set-face-attribute `,face nil :inherit 'fixed-pitch)) @@ -583,6 +612,8 @@ vertically." (setq org-refile-targets '((org-agenda-files . (:maxlevel . 6)))) + (setq org-agenda-window-setup 'other-frame) + :general (chris/leader-keys :states 'normal @@ -1140,6 +1171,20 @@ If on a: (general-def '(normal insert) eshell-mode-map "C-d" 'chris/kill-buffer-frame)) +(setq eshell-command-aliases-list + '(("ls" "exa $1") + ("la" "exa -la $1") + ("q" "exit") + ("f" "find-file $1") + ("ff" "find-file $1") + ("d" "dired $1") + ("bd" "eshell-up $1") + ("rg" "rg --color=always $*") + ("ll" "ls -lah $*") + ("gg" "magit-status") + ("clear" "clear-scrollback") + ("!c" "eshell-previous-input 2"))) + (use-package sly :mode ("\\.lisp\\'" . sly-mode)) @@ -1156,22 +1201,6 @@ If on a: :config (add-hook 'nov-mode-hook 'olivetti-mode)) -(setq display-buffer-alist - '(("\\*e?shell\\*" - (display-buffer-pop-up-frame)) - ("*helpful*" - (display-buffer-pop-up-frame)) - ("*elfeed-entry*" - (display-buffer-pop-up-frame)) - ("*Bongo-Elfeed Queue*" - (display-buffer-pop-up-frame)))) - -(defun chris/kill-buffer-frame () - "Kills the active buffer and frame" - (interactive) - (kill-this-buffer) - (delete-frame)) - (use-package elfeed :commands (elfeed) :config @@ -1335,3 +1364,5 @@ interfere with the default `bongo-playlist-buffer'." (setq gcmh-idle-delay 5 gcmh-high-cons-threshold (* 128 1024 1024) ; 128mb gcmh-verbose t)) + +(setq warning-suppress-types '((comp)))