docs(emacs): remove undo-tree
All checks were successful
deploy / build (push) Successful in 7m57s

This commit is contained in:
Lucien Cartier-Tilet 2024-06-20 18:41:32 +02:00
parent 9d8c985588
commit 58fc99cf8c
Signed by: phundrak
GPG Key ID: BD7789E705CB8DCA
2 changed files with 0 additions and 48 deletions

View File

@ -68,7 +68,6 @@ they are much more comfortable than Emacs.
evil-want-C-u-scroll t evil-want-C-u-scroll t
evil-want-C-i-jump nil) evil-want-C-i-jump nil)
(require 'evil-vars) (require 'evil-vars)
(evil-set-undo-system 'undo-tree)
:config :config
<<evil-undefine-keys>> <<evil-undefine-keys>>
<<evil-bepo>> <<evil-bepo>>
@ -156,52 +155,6 @@ additional code compared to most people due to the bépo layout.
(evil-collection-init)) (evil-collection-init))
#+end_src #+end_src
~undo-tree~ is my preferred way of undoing and redoing stuff. The main
reason is it doesnt create a linear undo/redo history, but rather a
complete tree you can navigate to see your complete editing history.
One of the two obvious things to do are to tell Emacs to save all its
undo history files in a dedicated directory, otherwise wed risk
littering all of our directories. The second thing is to simply
globally enable its mode.
#+begin_src emacs-lisp
(use-package undo-tree
:defer t
:straight (:build t)
:custom
(undo-tree-history-directory-alist
`(("." . ,(expand-file-name (file-name-as-directory "undo-tree-hist")
user-emacs-directory))))
:init
(global-undo-tree-mode)
:config
<<undo-tree-ignore-text-properties>>
<<undo-tree-compress-files>>
(setq undo-tree-visualizer-diff t
undo-tree-visualizer-timestamps t
undo-tree-auto-save-history t
undo-tree-enable-undo-in-region t
undo-limit (* 800 1024)
undo-strong-limit (* 12 1024 1024)
undo-outer-limit (* 128 1024 1024)))
#+end_src
An interesting behaviour from DoomEmacs is to compress the history
files with ~zstd~ when it is present on the system. Not only do we enjoy
much smaller files (according to DoomEmacs, we get something like 80%
file savings), Emacs can load them much faster than the regular files.
Sure, it uses more CPU time uncompressing these files, but its
insignificant, and its still faster than loading a heavier file.
#+name: undo-tree-compress-files
#+begin_src emacs-lisp :tangle no
(when (executable-find "zstd")
(defun my/undo-tree-append-zst-to-filename (filename)
"Append .zst to the FILENAME in order to compress it."
(concat filename ".zst"))
(advice-add 'undo-tree-make-history-save-file-name
:filter-return
#'my/undo-tree-append-zst-to-filename))
#+end_src
** Hydra ** Hydra
[[https://github.com/abo-abo/hydra][Hydra]] is a simple menu creator for keybindings. [[https://github.com/abo-abo/hydra][Hydra]] is a simple menu creator for keybindings.
#+begin_src emacs-lisp #+begin_src emacs-lisp

View File

@ -62,7 +62,6 @@ Undefining some stuff to make keybind prefixes work correctly.
"'" '(shell-pop :package shell-pop) "'" '(shell-pop :package shell-pop)
"R" #'recompile "R" #'recompile
"u" #'universal-argument "u" #'universal-argument
"U" '(undo-tree-visualize :package undo-tree)
<<general-keybindings-gen(table=keybindings-tabs, prefix="TAB ")>> <<general-keybindings-gen(table=keybindings-tabs, prefix="TAB ")>>
<<general-keybindings-gen(table=keybindings-apps, prefix="a")>> <<general-keybindings-gen(table=keybindings-apps, prefix="a")>>