From 30eb1f5237578396d7cc509822bf5aaac0b73e20 Mon Sep 17 00:00:00 2001 From: colin Date: Mon, 16 Oct 2023 17:59:34 -0700 Subject: opening in read only mode, did some reorg I think --- init-el.org | 142 ++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 77 insertions(+), 65 deletions(-) diff --git a/init-el.org b/init-el.org index 0ec333c..57bf3e2 100644 --- a/init-el.org +++ b/init-el.org @@ -1,3 +1,4 @@ +-*- buffer-read-only: t -*- #+auto_tangle: t #+OPTIONS: html-style:nil * init.el @@ -86,9 +87,11 @@ I'm using melpa and elpa package archives. * Leader Keys I have written a custom leader key system called "my-leader-keys". A - leader key system emulates menus. An initial key (M-m for me) opens - the top level menu. The menu presents a key to press that either leads - to the next menu or run a specific interative function. + leader key system provides keyboard driven menus for executing emacs + commands a.k.a "interactive functions". An initial key (=M-m= for + me) opens the top level menu. The menu presents keys to press that + either lead to the further menus or that run a specific interactive + function. It all starts with the =def-my-command= macro, which associates a key to a menu of commands. Each 'command' is just an interactive function. @@ -122,7 +125,7 @@ I'm using melpa and elpa package archives. ** My Leader Key Toplevel Menu The leader key system wouldn't be much good without a top-level leader - key. Here the inital leader key menu is defined and bound to M-m. + key. Here the initial leader key menu is defined and bound to M-m. #+name: my-leader-key-toplevel-menu #+begin_src elisp :results none @@ -155,28 +158,6 @@ I'm using melpa and elpa package archives. (global-set-key (kbd "M-m") 'my-leader-command) #+end_src -** My leader key special edit commands - -#+name: my-leader-special-edit -#+begin_src elisp :noweb no-export - -(defun my-freaking-align () - (interactive) - (align-regexp (region-beginning) (region-end) "\\(\\s-*\\)\\s-" 1 1 t) - (indent-region (region-beginning) (region-end))) - -(def-my-command my-special-edit-command - '( - (?i "[i]nsert" my-special-insert) - (?a "[a]lign" my-freaking-align))) - - -#+end_src - - -#+RESULTS: my-leader-special-edit -: my-special-edit-command - ** My leader Key Major Mode Menu #+name: my-leader-key-major-mode-menu @@ -220,45 +201,6 @@ I'm using melpa and elpa package archives. -** My leader key Special inserts - -#+name: my-special-inserts -#+begin_src elisp :noweb no-export - -(defun inserter (what) - (lexical-let ((what what)) - (lambda () - (interactive) - (insert what)))) - -(def-my-command my-special-insert - `((?l "[l] λ" ,(inserter "λ")) - (?a "[a] α" ,(inserter "α")) - (?b "[b] β" ,(inserter "β")) - (?g "[g] γ" ,(inserter "γ")) - (?p "[p] π" ,(inserter "π")) - (?f "[f] φ" ,(inserter "φ")) - (?^ "[^] ↑" ,(inserter "↑")) - (?v "[v] ↓" ,(inserter "↓")) - (?> "[>] →" ,(inserter "→")) - (?< "[<] ←" ,(inserter "←")) - (?A "[A] ∀" ,(inserter "∀")) - (?E "[E] ∃" ,(inserter "∃")) - (?. "[.] ·" ,(inserter "·")) - (?x "[x] ×" ,(inserter "×")) - (?X "[X] ⊗" ,(inserter "⊗")) - (?+ "[+] ⊕" ,(inserter "⊕")) - (?/ "[/] ÷" ,(inserter "÷")) - (?U "[U] ∪" ,(inserter "∪")) - (?I "[I] ∩" ,(inserter "∩")) - (?& "[&] ∧" ,(inserter "∧")) - (?| "[|] ∨" ,(inserter "∨")))) - -#+end_src - -#+RESULTS: my-special-inserts -: my-special-insert - * Org Mode Configs #+name: org-mode-config @@ -1057,6 +999,7 @@ wordnut is a wordnet interface (setq elfeed-feeds '( + ("https://newsletter.aworkinglibrary.com/rss" culture technology) ("https://harpers.org/feed" culture politics news) ("https://solar.lowtechmagazine.com/posts/index.xml" technology) ("https://lambdaland.org/index.xml" blog lisp emacs) @@ -1179,6 +1122,75 @@ wordnut is a wordnet interface #+RESULTS: markdown-editing +** My leader key special edit commands + +Little utils for editing. + +=my-freaking-align= tries to align lines of text into columns. + +=my-special-insert= presents a menu for inserting common unicode +characters. + +#+name: my-leader-special-edit +#+begin_src elisp :noweb no-export :results none + +(defun my-freaking-align () + (interactive) + (align-regexp (region-beginning) (region-end) "\\(\\s-*\\)\\s-" 1 1 t) + (indent-region (region-beginning) (region-end))) + +(def-my-command my-special-edit-command + '( + (?i "[i]nsert" my-special-insert) + (?a "[a]lign" my-freaking-align))) + +#+end_src + + +*** My leader key Special inserts + +Included are common greekletters, arrows, logical symbols and some +math symbols. + +#+name: my-special-inserts +#+begin_src elisp :noweb no-export :results none + +(defun inserter (what) + (lexical-let ((what what)) + (lambda () + (interactive) + (insert what)))) + +(def-my-command my-special-insert + `((?l "[l] λ" ,(inserter "λ")) + (?a "[a] α" ,(inserter "α")) + (?b "[b] β" ,(inserter "β")) + (?g "[g] γ" ,(inserter "γ")) + (?p "[p] π" ,(inserter "π")) + (?f "[f] φ" ,(inserter "φ")) + (?^ "[^] ↑" ,(inserter "↑")) + (?v "[v] ↓" ,(inserter "↓")) + (?> "[>] →" ,(inserter "→")) + (?< "[<] ←" ,(inserter "←")) + (?A "[A] ∀" ,(inserter "∀")) + (?E "[E] ∃" ,(inserter "∃")) + (?. "[.] ·" ,(inserter "·")) + (?x "[x] ×" ,(inserter "×")) + (?X "[X] ⊗" ,(inserter "⊗")) + (?+ "[+] ⊕" ,(inserter "⊕")) + (?/ "[/] ÷" ,(inserter "÷")) + (?U "[U] ∪" ,(inserter "∪")) + (?I "[I] ∩" ,(inserter "∩")) + (?& "[&] ∧" ,(inserter "∧")) + (?| "[|] ∨" ,(inserter "∨")))) + +#+end_src + +#+RESULTS: my-special-inserts +: my-special-insert + + + * Software Development #+name: software-development-preamble -- cgit v1.2.3