Compare commits
11 Commits
74c6988df1
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 2254056d95 | |||
| e30521c391 | |||
| 121030ce90 | |||
| 20b8fceef8 | |||
| 0728d8f955 | |||
| 71980169d8 | |||
| 17548659b6 | |||
| 72f9e87fd1 | |||
| 9769754f56 | |||
| 4fe9f6a043 | |||
| 2986e0145e |
1
early-init.el
Normal file
1
early-init.el
Normal file
@@ -0,0 +1 @@
|
||||
(setq site-run-file nil)
|
||||
478
init.el.org
478
init.el.org
@@ -1,17 +1,31 @@
|
||||
#+title: init.el.org
|
||||
#+lastmod: [2025-03-16 Sun 22:29]
|
||||
#+date: [2025-10-31 Fri]
|
||||
#+lastmod: [2025-11-01 Sat 00:03]
|
||||
#+hugo_auto_set_lastmod: t
|
||||
#+hugo_base_dir: ~/projects/blog.minded.net/
|
||||
#+export_file_name: init.el.org.md
|
||||
#+hugo_section: pages/emacs/
|
||||
#+hugo_draft: false
|
||||
#+hugo_tags: emacs
|
||||
|
||||
How to tangle: ~M-x org-babel-tangle [C-c C-v t]~
|
||||
|
||||
See also: https://orgmode.org/manual/Extracting-Source-Code.html
|
||||
|
||||
* init.el
|
||||
* My Emacs configuration
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/.emacs.d/init.el
|
||||
:END:
|
||||
|
||||
More about [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Init-File.html][the Emacs initialization file]]
|
||||
|
||||
~~/.emacs.d/init.el~ is generated from this org file with [[https://orgmode.org/worg/org-contrib/babel/][Org-babel]]
|
||||
|
||||
How to tangle: ~M-x org-babel-tangle~ or ~C-c C-v t~
|
||||
|
||||
My Emacs repository: [[https://git.minded.net/anne/emacs][git.minded.net/anne/emacs]]
|
||||
|
||||
The source version of this file: [[https://git.minded.net/anne/emacs/src/branch/main/init.el.org?display=source][git.minded.net/anne/emacs/src/branch/main/init.el.org]]
|
||||
|
||||
Or view this file on my blog: [[https://blog.minded.net/pages/emacs/init.el.org][blog.minded.net/pages/emacs/init.el.org]]
|
||||
|
||||
** About me
|
||||
https://www.gnu.org/software/emacs/manual/html_node/elisp/User-Identification.html
|
||||
|
||||
#+begin_src elisp
|
||||
(setq user-full-name "Anne"
|
||||
@@ -19,7 +33,8 @@ https://www.gnu.org/software/emacs/manual/html_node/elisp/User-Identification.ht
|
||||
#+end_src
|
||||
|
||||
** Use-package
|
||||
https://github.com/jwiegley/use-package
|
||||
|
||||
[[https://github.com/jwiegley/use-package]]
|
||||
|
||||
#+begin_src elisp
|
||||
(require 'package)
|
||||
@@ -34,15 +49,18 @@ https://github.com/jwiegley/use-package
|
||||
|
||||
** Reload configuration
|
||||
|
||||
~M-x reload-emacs-init~
|
||||
|
||||
#+begin_src elisp
|
||||
(defun reload-emacs-configuration ()
|
||||
(defun reload-emacs-init ()
|
||||
(interactive)
|
||||
(load-file "~/.emacs.d/init.el")
|
||||
(message "Configuarion reloaded!"))
|
||||
#+end_src
|
||||
|
||||
** Customizations file
|
||||
https://www.gnu.org/software/emacs/manual/html_node/emacs/Saving-Customizations.html
|
||||
|
||||
[[https://www.gnu.org/software/emacs/manual/html_node/emacs/Saving-Customizations.html]]
|
||||
|
||||
You can choose to save customizations somewhere other than your initialization file.
|
||||
|
||||
@@ -51,8 +69,23 @@ You can choose to save customizations somewhere other than your initialization f
|
||||
(load custom-file 'noerror 'nomessage)
|
||||
#+end_src
|
||||
|
||||
** DISABLED Lock files
|
||||
https://www.gnu.org/software/emacs/manual/html_node/elisp/File-Locks.html
|
||||
** TRAMP
|
||||
|
||||
https://www.gnu.org/software/emacs/manual/html_node/tramp/Auto_002dsave-File-Lock-and-Backup.html
|
||||
|
||||
#+begin_src elisp
|
||||
(setq tramp-allow-unsafe-temporary-files t)
|
||||
#+end_src
|
||||
|
||||
** zone-mode
|
||||
|
||||
#+begin_src elisp
|
||||
(add-to-list 'auto-mode-alist '("/etc/bind/zones/" . zone-mode))
|
||||
#+end_src
|
||||
|
||||
** Lock files
|
||||
|
||||
[[https://www.gnu.org/software/emacs/manual/html_node/elisp/File-Locks.html]]
|
||||
|
||||
If create-lockfiles is nil, Emacs does not lock files.
|
||||
|
||||
@@ -60,117 +93,101 @@ If create-lockfiles is nil, Emacs does not lock files.
|
||||
(setq create-lockfiles nil)
|
||||
#+end_src
|
||||
|
||||
** DISABLED Disable startup screen
|
||||
https://www.gnu.org/software/emacs/manual/html_node/elisp/Startup-Summary.html
|
||||
|
||||
#+begin_src elisp :tangle no
|
||||
(setq inhibit-startup-screen t)
|
||||
#+end_src
|
||||
|
||||
** Diminish
|
||||
https://github.com/myrjola/diminish.el
|
||||
|
||||
Diminish implements hiding or abbreviation of the mode line displays (lighters) of minor-modes.
|
||||
|
||||
#+begin_src elisp
|
||||
(use-package diminish
|
||||
:ensure t)
|
||||
#+end_src
|
||||
|
||||
** Yes-or-no prompts
|
||||
https://www.emacswiki.org/emacs/YesOrNoP
|
||||
|
||||
[[https://www.emacswiki.org/emacs/YesOrNoP]]
|
||||
|
||||
#+begin_src elispx1
|
||||
(defalias 'yes-or-no-p 'y-or-n-p)
|
||||
#+end_src
|
||||
|
||||
** Column and line numbers
|
||||
https://www.gnu.org/software/emacs/manual/html_node/efaq/Displaying-the-current-line-or-column.html
|
||||
|
||||
#+begin_src elisp
|
||||
(column-number-mode t)
|
||||
#+end_src
|
||||
|
||||
** Suppress dialog boxes
|
||||
https://www.gnu.org/software/emacs/manual/html_node/emacs/Dialog-Boxes.html
|
||||
|
||||
#+begin_src elisp
|
||||
(setq use-dialog-box nil)
|
||||
#+end_src
|
||||
|
||||
** Keeping buffers up-to-date
|
||||
https://www.gnu.org/software/emacs/manual/html_node/emacs/Auto-Revert.html
|
||||
|
||||
[[https://www.gnu.org/software/emacs/manual/html_node/emacs/Auto-Revert.html]]
|
||||
|
||||
#+begin_src elisp
|
||||
(global-auto-revert-mode 1)
|
||||
(setq global-auto-revert-non-file-buffers t)
|
||||
#+end_src
|
||||
|
||||
** Enable mouse support
|
||||
https://emacsdocs.org/docs/emacs/Mouse-Commands#c-m-mouse-1
|
||||
https://emacsdocs.org/docs/emacs/Text_002dOnly-Mouse
|
||||
** Disable startup screen
|
||||
|
||||
[[https://www.gnu.org/software/emacs/manual/html_node/elisp/Startup-Summary.html]]
|
||||
|
||||
#+begin_src elisp :tangle no
|
||||
(setq inhibit-startup-screen nil)
|
||||
#+end_src
|
||||
|
||||
** What to display
|
||||
|
||||
[[https://www.gnu.org/software/emacs/manual/html_node/emacs/Frames.html]]
|
||||
|
||||
I do like the menu bar after all.
|
||||
|
||||
#+begin_src elisp
|
||||
(xterm-mouse-mode 1)
|
||||
(mouse-wheel-mode 1)
|
||||
(tool-bar-mode -1)
|
||||
;;(menu-bar-mode -1)
|
||||
(tooltip-mode -1)
|
||||
#+end_src
|
||||
|
||||
** Mode line column and line numbers
|
||||
|
||||
[[https://www.gnu.org/software/emacs/manual/html_node/efaq/Displaying-the-current-line-or-column.html]]
|
||||
|
||||
#+begin_src elisp
|
||||
(column-number-mode t)
|
||||
#+end_src
|
||||
|
||||
** Theme
|
||||
|
||||
#+begin_src elisp
|
||||
(use-package ef-themes
|
||||
:ensure t
|
||||
:demand t
|
||||
:config
|
||||
(ef-themes-select 'ef-dream))
|
||||
#+end_src
|
||||
|
||||
#+begin_src elisp
|
||||
(custom-set-faces
|
||||
'(helm-buffer-directory ((t (:extend t :background "dim gray" :foreground "DarkRed"))))
|
||||
'(helm-ff-directory ((t (:extend t :background "dim gray" :foreground "DarkRed"))))
|
||||
'(org-agenda-date-today ((t (:inherit org-agenda-date :underline nil))))
|
||||
'(menu ((t (:background "magenta")))))
|
||||
#+end_src
|
||||
|
||||
** Mood-line
|
||||
|
||||
[[https://gitlab.com/jessieh/mood-line]]
|
||||
|
||||
A lightweight, drop-in replacement for the default Emacs mode line configuration.
|
||||
|
||||
#+begin_src elisp
|
||||
(use-package mood-line
|
||||
:config (mood-line-mode)
|
||||
;;(setq mood-line-format mood-line-format-default)
|
||||
(setq mood-line-format mood-line-format-default-extended)
|
||||
(setq mood-line-glyph-alist mood-line-glyphs-unicode))
|
||||
#+end_src
|
||||
|
||||
** Suppress dialog boxes
|
||||
[[https://www.gnu.org/software/emacs/manual/html_node/emacs/Dialog-Boxes.html]]
|
||||
|
||||
#+begin_src elisp
|
||||
(setq use-dialog-box nil)
|
||||
#+end_src
|
||||
|
||||
** Sentences
|
||||
https://www.gnu.org/software/emacs/manual/html_node/efaq/Filling-paragraphs-with-a-single-space.html
|
||||
|
||||
[[https://www.gnu.org/software/emacs/manual/html_node/efaq/Filling-paragraphs-with-a-single-space.html]]
|
||||
|
||||
#+begin_src elisp
|
||||
(setq sentence-end-double-space nil)
|
||||
#+end_src
|
||||
|
||||
** Kill-line
|
||||
https://www.gnu.org/software/emacs/manual/html_node/emacs/Killing-by-Lines.html
|
||||
|
||||
If non-nil, 'kill-line' with no arg at start of line kills the whole line.
|
||||
|
||||
#+begin_src elisp
|
||||
(setq kill-whole-line t)
|
||||
#+end_src
|
||||
|
||||
** Indentation
|
||||
https://www.gnu.org/software/emacs/manual/html_node/eintr/Indent-Tabs-Mode.html
|
||||
|
||||
#+begin_src elisp
|
||||
(setq-default indent-tabs-mode nil)
|
||||
#+end_src
|
||||
|
||||
** Rainbow delimiters
|
||||
https://github.com/Fanael/rainbow-delimiters
|
||||
|
||||
#+begin_src elisp
|
||||
(use-package rainbow-delimiters
|
||||
:init)
|
||||
#+end_src
|
||||
|
||||
** Electric pair mode
|
||||
https://emacsdocs.org/docs/emacs/Matching
|
||||
|
||||
#+begin_src elisp
|
||||
(electric-pair-mode 1)
|
||||
#+end_src
|
||||
|
||||
** Org-appear
|
||||
https://github.com/awth13/org-appear
|
||||
|
||||
#+begin_src elisp
|
||||
(use-package org-appear
|
||||
:load-path "~/.emacs.d/etc/elisp/org-appear"
|
||||
:hook (org-mode . org-appear-mode))
|
||||
#+end_src
|
||||
|
||||
#+begin_src elisp
|
||||
(setq org-hide-emphasis-markers t)
|
||||
#+end_src
|
||||
|
||||
** Minibuffer
|
||||
https://www.gnu.org/software/emacs/manual/html_node/emacs/Minibuffer-Edit.html
|
||||
|
||||
The variable ~resize-mini-windows~ controls the resizing of the minibuffer. If the value is t, the minibuffer window will also shrink automatically if you remove some lines of text from the minibuffer, down to a minimum of one screen line.
|
||||
The variable ~max-mini-window-height~ controls the maximum height for resizing the minibuffer window. A floating-point number specifies a fraction of the frame's height; an integer specifies the maximum number of lines; nil means do not resize the minibuffer window automatically. The default value is 0.25.
|
||||
[[https://www.gnu.org/software/emacs/manual/html_node/emacs/Minibuffer-Edit.html]]
|
||||
|
||||
#+begin_src elisp
|
||||
(setq resize-mini-windows t)
|
||||
@@ -178,35 +195,76 @@ The variable ~max-mini-window-height~ controls the maximum height for resizing t
|
||||
#+end_src
|
||||
|
||||
** Word wrap
|
||||
https://www.gnu.org/software/emacs/manual/html_node/emacs/Visual-Line-Mode.html
|
||||
|
||||
[[https://www.gnu.org/software/emacs/manual/html_node/emacs/Visual-Line-Mode.html]]
|
||||
|
||||
#+begin_src elisp
|
||||
(add-hook 'text-mode-hook 'visual-line-mode)
|
||||
#+end_src
|
||||
|
||||
** Mouse support
|
||||
|
||||
[[https://www.gnu.org/software/emacs/manual/html_node/emacs/Mouse-Input.html]]
|
||||
|
||||
#+begin_src elisp
|
||||
(xterm-mouse-mode 1)
|
||||
(mouse-wheel-mode 1)
|
||||
(context-menu-mode 1)
|
||||
#+end_src
|
||||
|
||||
** Kill-line
|
||||
|
||||
[[https://www.gnu.org/software/emacs/manual/html_node/emacs/Killing-by-Lines.html]]
|
||||
|
||||
If non-nil, ~kill-line~ with no arg at start of line kills the whole line.
|
||||
|
||||
#+begin_src elisp
|
||||
(setq kill-whole-line t)
|
||||
#+end_src
|
||||
|
||||
** Indentation
|
||||
|
||||
[[https://www.gnu.org/software/emacs/manual/html_node/eintr/Indent-Tabs-Mode.html]]
|
||||
|
||||
#+begin_src elisp
|
||||
(setq-default indent-tabs-mode nil)
|
||||
#+end_src
|
||||
|
||||
** Electric pair mode
|
||||
|
||||
[[https://emacsdocs.org/docs/emacs/Matching]]
|
||||
|
||||
#+begin_src elisp
|
||||
(electric-pair-mode 1)
|
||||
#+end_src
|
||||
|
||||
** Overwrite highlighted region
|
||||
https://www.gnu.org/software/emacs/manual/html_node/efaq/Replacing-highlighted-text.html
|
||||
|
||||
[[https://www.gnu.org/software/emacs/manual/html_node/efaq/Replacing-highlighted-text.html]]
|
||||
|
||||
#+begin_src elisp
|
||||
(delete-selection-mode t)
|
||||
#+end_src
|
||||
|
||||
** Scrolling
|
||||
https://www.gnu.org/software/emacs/manual/html_node/emacs/Scrolling.html
|
||||
|
||||
[[https://www.gnu.org/software/emacs/manual/html_node/emacs/Scrolling.html]]
|
||||
|
||||
#+begin_src elisp
|
||||
(setq scroll-error-top-bottom t)
|
||||
#+end_src
|
||||
|
||||
** Cursor
|
||||
https://www.gnu.org/software/emacs/manual/html_node/emacs/Cursor-Display.html
|
||||
|
||||
[[https://www.gnu.org/software/emacs/manual/html_node/emacs/Cursor-Display.html]]
|
||||
|
||||
#+begin_src elisp
|
||||
(global-hl-line-mode t)
|
||||
#+end_src
|
||||
|
||||
** Window handling
|
||||
https://www.gnu.org/software/emacs/manual/html_node/emacs/Window-Convenience.html#index-winner_002dmode
|
||||
|
||||
[[https://www.gnu.org/software/emacs/manual/html_node/emacs/Window-Convenience.html]]
|
||||
|
||||
Winner mode is a global minor mode that records the changes in the window configuration (i.e., how the frames are partitioned into windows), so that you can undo them.
|
||||
|
||||
@@ -225,45 +283,9 @@ The Windmove package defines commands for moving directionally between neighbori
|
||||
("<f2> <down>" . windmove-down)))
|
||||
#+end_src
|
||||
|
||||
** Saving files
|
||||
https://www.gnu.org/software/emacs/manual/html_node/emacs/Backup.html
|
||||
|
||||
Automatically backup buffers/files into the ~.emacs.d/backup/ directory.
|
||||
|
||||
#+begin_src elisp
|
||||
(make-directory (expand-file-name "backups/" user-emacs-directory) t)
|
||||
(setq backup-directory-alist `(("." . ,(expand-file-name "backups/" user-emacs-directory)))
|
||||
backup-by-copying t ; Don't delink hardlinks
|
||||
version-control t ; Use version numbers on backups
|
||||
delete-old-versions t ; Automatically delete excess backups
|
||||
kept-new-versions 20 ; how many of the newest versions to keep
|
||||
kept-old-versions 5) ; and how many of the old
|
||||
#+end_src
|
||||
|
||||
https://www.gnu.org/software/emacs/manual/html_node/emacs/Auto-Save-Control.html
|
||||
|
||||
#+begin_src elisp
|
||||
(setq auto-save-timeout 20 ; number of seconds idle time before auto-save (default: 30)
|
||||
auto-save-interval 200) ; number of keystrokes between auto-saves (default: 300)
|
||||
#+end_src
|
||||
|
||||
** Unset C-z
|
||||
Unset C-z which is bound to `suspend-frame' by default.
|
||||
|
||||
#+begin_src elisp
|
||||
(global-unset-key (kbd "C-z"))
|
||||
#+end_src
|
||||
|
||||
** Dired
|
||||
https://lucidmanager.org/productivity/manage-files-with-emacs/
|
||||
|
||||
#+begin_src elisp
|
||||
(put 'dired-find-alternate-file 'disabled nil)
|
||||
(setq dired-listing-switches "-agho --group-directories-first")
|
||||
#+end_src
|
||||
|
||||
** Crux
|
||||
https://github.com/bbatsov/crux
|
||||
|
||||
[[https://github.com/bbatsov/crux]]
|
||||
|
||||
A Collection of Ridiculously Useful eXtensions for Emacs. crux bundles many useful interactive commands to enhance your overall Emacs experience.
|
||||
|
||||
@@ -273,56 +295,87 @@ A Collection of Ridiculously Useful eXtensions for Emacs. crux bundles many usef
|
||||
("C-a" . crux-move-beginning-of-line)
|
||||
("C-c o" . crux-open-with)
|
||||
("C-k" . crux-kill-whole-line)
|
||||
("C-c f" . crux-cleanup-buffer-or-region)
|
||||
("C-x C-a" . crux-sudo-edit)
|
||||
:config
|
||||
(crux-with-region-or-buffer indent-region)
|
||||
(crux-with-region-or-buffer untabify)
|
||||
(crux-with-region-or-line comment-or-uncomment-region)
|
||||
:hook (before-save-hook . crux-cleanup-buffer-or-region))
|
||||
(crux-with-region-or-line comment-or-uncomment-region))
|
||||
#+end_src
|
||||
|
||||
** Dired
|
||||
|
||||
[[https://www.gnu.org/software/emacs/manual/html_node/emacs/Dired.html]]
|
||||
|
||||
#+begin_src elisp
|
||||
(put 'dired-find-alternate-file 'disabled nil)
|
||||
(setq dired-listing-switches "-agho --group-directories-first")
|
||||
#+end_src
|
||||
|
||||
** Kill buffer
|
||||
|
||||
#+begin_src elisp
|
||||
(global-set-key (kbd "C-x k") 'kill-this-buffer)
|
||||
(global-set-key (kbd "C-x k") 'kill-current-buffer)
|
||||
#+end_src
|
||||
|
||||
** Doom-themes
|
||||
[[https://github.com/doomemacs/themes]]
|
||||
** Unset C-z
|
||||
|
||||
Unset C-z which is bound to `suspend-frame' by default.
|
||||
|
||||
#+begin_src elisp
|
||||
(use-package doom-themes
|
||||
:ensure t
|
||||
:config
|
||||
(setq doom-themes-enable-bold t ; if nil, bold is universally disabled
|
||||
doom-themes-enable-italic t ; if nil, italics is universally disabled
|
||||
doom-themes-padded-modeline t)
|
||||
(load-theme 'doom-vibrant t)
|
||||
(setq doom-themes-treemacs-theme "doom-colors") ; use "doom-colors" for less minimal icon theme
|
||||
(doom-themes-treemacs-config)
|
||||
(doom-themes-org-config) ; corrects (and improves) org-mode's native fontification
|
||||
(custom-set-faces
|
||||
'(font-lock-comment-face ((t (:foreground "#6c6f93" :slant normal))))
|
||||
'(org-hide ((t (:foreground "grey15"))))
|
||||
'(org-scheduled-today ((t (:foreground "violet"))))
|
||||
'(org-todo ((t (:foreground "magenta"))))
|
||||
'(org-done ((t (:foreground "#9ca0a4" :bold nil :background "grey15"))))
|
||||
'(org-tag ((t (:foreground "teal"))))
|
||||
'(org-link ((t (:bold nil))))))
|
||||
(global-unset-key (kbd "C-z"))
|
||||
#+end_src
|
||||
|
||||
** Mood-line
|
||||
https://github.com/jessiehildebrandt/mood-line
|
||||
** Backups
|
||||
|
||||
mood-line is a minimal mode-line configuration that aims to replicate some of the features of the doom-modeline package.
|
||||
[[https://www.gnu.org/software/emacs/manual/html_node/emacs/Backup.html]]
|
||||
|
||||
Automatically backup buffers/files into the ~.emacs.d/backup/ directory.
|
||||
|
||||
#+begin_src elisp
|
||||
(use-package mood-line
|
||||
:config (mood-line-mode))
|
||||
(setq backup-directory-alist '(("." . "~/.emacs.d/backups")))
|
||||
(setq backup-by-copying t ; Don't delink hardlinks
|
||||
version-control t ; Use version numbers on backups
|
||||
delete-old-versions t ; Automatically delete excess backups
|
||||
kept-new-versions 20 ; how many of the newest versions to keep
|
||||
kept-old-versions 5) ; and how many of the old
|
||||
#+end_src
|
||||
|
||||
** backup-walker
|
||||
|
||||
https://github.com/lewang/backup-walker
|
||||
|
||||
#+begin_src elisp
|
||||
(use-package backup-walker
|
||||
:bind
|
||||
("C-c b" . backup-walker-start))
|
||||
#+end_src
|
||||
|
||||
** Auto save
|
||||
|
||||
[[https://www.gnu.org/software/emacs/manual/html_node/emacs/Auto-Save-Control.html]]
|
||||
|
||||
#+begin_src elisp
|
||||
(setq auto-save-timeout 20 ; number of seconds idle time before auto-save (default: 30)
|
||||
auto-save-interval 200) ; number of keystrokes between auto-saves (default: 300)
|
||||
#+end_src
|
||||
|
||||
** Lastmod time stamp
|
||||
|
||||
#+begin_src elisp
|
||||
(setq time-stamp-start "\\(^:last_modified: \\\\?[\[<]+\\|^:LASTMOD: \\\\?[\[<]+\\|^#\\+lastmod: \\\\?[\[<]+\\|^;; lastmod: \\\\?[\[<]+\\)")
|
||||
(setq time-stamp-end "\\\\?[\]>]")
|
||||
(setq time-stamp-format "%Y-%02m-%02d %3a %02H:%02M")
|
||||
(setq time-stamp-limit 12)
|
||||
(add-hook 'before-save-hook 'time-stamp)
|
||||
(setq time-stamp-active t)
|
||||
#+end_src
|
||||
|
||||
** Magit
|
||||
https://magit.vc/
|
||||
https://systemcrafters.net/mastering-git-with-magit/introduction/
|
||||
|
||||
[[https://magit.vc/]]
|
||||
|
||||
[[https://systemcrafters.net/mastering-git-with-magit/introduction/]]
|
||||
|
||||
#+begin_src elisp
|
||||
(use-package magit
|
||||
@@ -330,7 +383,8 @@ https://systemcrafters.net/mastering-git-with-magit/introduction/
|
||||
#+end_src
|
||||
|
||||
** Which-key
|
||||
https://github.com/justbur/emacs-which-key
|
||||
|
||||
[[https://github.com/justbur/emacs-which-key]]
|
||||
|
||||
which-key is a minor mode for Emacs that displays the key bindings following your currently entered incomplete command (a prefix) in a popup.
|
||||
|
||||
@@ -344,50 +398,82 @@ which-key is a minor mode for Emacs that displays the key bindings following you
|
||||
#+end_src
|
||||
|
||||
** Helm
|
||||
|
||||
[[https://emacs-helm.github.io/helm/]]
|
||||
|
||||
Helm is an Emacs framework for incremental completions and narrowing selections. It helps to rapidly complete file names, buffer names, or any other Emacs interactions requiring selecting an item from a list of possible choices.
|
||||
Imagine a life without Helm...
|
||||
|
||||
#+begin_src elisp
|
||||
(use-package helm
|
||||
:ensure t
|
||||
:config
|
||||
;;(require 'helm-config)
|
||||
:init
|
||||
(helm-mode 1)
|
||||
(setq helm-split-window-inside-p t)
|
||||
:diminish helm-mode
|
||||
:bind (("M-x" . helm-M-x) ;; Evaluate functions
|
||||
("C-x C-f" . helm-find-files) ;; Open or create files
|
||||
("C-x b" . helm-mini) ;; Select buffers
|
||||
:bind (("M-x" . helm-M-x) ; Evaluate functions
|
||||
("C-x C-f" . helm-find-files) ; Open or create files
|
||||
("C-x b" . helm-mini) ; Select buffers
|
||||
("C-x C-b" . helm-buffers-list)
|
||||
("C-x C-r" . helm-recentf) ;; Select recently saved files
|
||||
("C-c i" . helm-imenu) ;; Select document heading
|
||||
("M-y" . helm-show-kill-ring) ;; Show the kill ring
|
||||
("C-x C-r" . helm-recentf) ; Select recently saved files
|
||||
("C-c i" . helm-imenu) ; Select document heading
|
||||
("M-y" . helm-show-kill-ring) ; Show the kill ring
|
||||
("C-x c g" . helm-do-grep-ag)
|
||||
:map helm-map
|
||||
("C-z" . helm-select-action)
|
||||
("<tab>" . helm-execute-persistent-action)))
|
||||
#+end_src
|
||||
|
||||
** Helm-org
|
||||
[[https://github.com/emacs-helm/helm-org]]
|
||||
** Org-appear
|
||||
|
||||
#+begin_src elisp :tangle no
|
||||
(use-package helm-org
|
||||
:after helm
|
||||
:config
|
||||
(add-to-list 'helm-completing-read-handlers-alist '(org-capture . helm-org-completing-read-tags))
|
||||
(add-to-list 'helm-completing-read-handlers-alist '(org-set-tags . helm-org-completing-read-tags)))
|
||||
#+end_src
|
||||
[[https://github.com/awth13/org-appear]]
|
||||
|
||||
** Lastmod
|
||||
Update time stamp on save.
|
||||
Make invisible parts of Org elements appear visible.
|
||||
|
||||
#+begin_src elisp
|
||||
(setq time-stamp-start "\\(^:last_modified: \\\\?[\[<]+\\|^#\\+lastmod: \\\\?[\[<]+\\|^;; lastmod: \\\\?[\[<]+\\)")
|
||||
(setq time-stamp-end "\\\\?[\]>]")
|
||||
(setq time-stamp-format "%Y-%02m-%02d %3a %02H:%02M")
|
||||
(setq time-stamp-limit 12)
|
||||
(add-hook 'before-save-hook 'time-stamp)
|
||||
(setq time-stamp-active t)
|
||||
(use-package org-appear
|
||||
:load-path "~/.emacs.d/etc/elisp/org-appear"
|
||||
:hook (org-mode . org-appear-mode)
|
||||
:init
|
||||
(setq org-appear-autolinks t))
|
||||
#+end_src
|
||||
|
||||
Hide emphasis markers by default.
|
||||
|
||||
#+begin_src elisp
|
||||
(setq org-hide-emphasis-markers t)
|
||||
#+end_src
|
||||
|
||||
** Org-roam
|
||||
|
||||
https://github.com/org-roam/org-roam
|
||||
|
||||
https://www.orgroam.com/
|
||||
|
||||
#+begin_src elisp
|
||||
(use-package org-roam
|
||||
:ensure t
|
||||
;;:init
|
||||
;;(setq org-roam-v2-ack t)
|
||||
:custom
|
||||
(org-roam-directory "~/org/notes")
|
||||
(org-roam-completion-everywhere t)
|
||||
(org-roam-capture-templates
|
||||
'(("d" "default" plain "%?"
|
||||
:target (file+head "%<%Y%m%d>-${slug}.org"
|
||||
":PROPERTIES:\n:CREATED: %U\n:LASTMOD: []\n:END:\n#+title: ${title}\n\n\n")
|
||||
:unnarrowed t)))
|
||||
:config
|
||||
(org-roam-db-autosync-mode)
|
||||
(setq org-roam-node-display-template (concat "${title:*} " (propertize "${tags:42}" 'face 'org-tag)))
|
||||
:bind (("C-c n l" . org-roam-buffer-toggle)
|
||||
("C-c n f" . org-roam-node-find)
|
||||
("C-c n i" . org-roam-node-insert)
|
||||
("C-c n c" . org-roam-capture)
|
||||
("C-c n d" . org-id-get-create)
|
||||
("C-c n t" . org-roam-tag-add)
|
||||
("C-c n u" . org-roam-tag-remove)
|
||||
("C-c n a" . org-roam-alias-add)
|
||||
("C-c n b" . org-roam-alias-remove)))
|
||||
#+end_src
|
||||
|
||||
Reference in New Issue
Block a user