Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/humanfactors/.emacs.d
A minimalist Windows centric, modern-ish always evolving init.el et al.
https://github.com/humanfactors/.emacs.d
emacs
Last synced: about 23 hours ago
JSON representation
A minimalist Windows centric, modern-ish always evolving init.el et al.
- Host: GitHub
- URL: https://github.com/humanfactors/.emacs.d
- Owner: humanfactors
- Created: 2019-10-17T02:04:57.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-08-28T08:44:33.000Z (about 1 month ago)
- Last Synced: 2024-08-28T10:01:57.987Z (about 1 month ago)
- Topics: emacs
- Language: Emacs Lisp
- Homepage:
- Size: 662 KB
- Stars: 8
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
Awesome Lists containing this project
README
#+TITLE: Micah's .emacs.d
#+html:
This is my personal Emacs configuration. It is heavily customised and has a lot of room for optimization. Nevertheless, I believe it is relatively well organised, with a modular design. It is geared towards Windows (1st) and Linux (2nd). It's made for scentific use, and aims to be: quick, minimal, logical, and maintainable.
I do not "live in Emacs", but I do use it almost every day (for better or worse). To be honest, Emacs is one of those tools that can send me up the wall, and I'm no expert with Emacs Lisp. Yet, I am caught in the spiral and Emacs will remain with me, so I maintain this configuration.
I dream of the day Emacs has rich-text buffer support (e.g., copy paste with formatting) and multi-threading. My dream will probably never come true.
** Features
- ✅ Modular design and automatic setup
- ✅ Evil-mode, but retains full Emacs defaults in insert mode
- ✅ Fully useable R config
- ✅ Confusing set of custom binds and functions I've added over the years
- ✅ Legacy code I'm too worried to remove
- ✅ Ripped features straight from Spacemacs, Doom and friends.** Usage Notes
The configuration files are in =./elisp/= and each =.el= is somewhat cryptically named, but the load order of the files is shown in =.init.el=.- 📦 =mdw-packages.el= ⇨ Initial installation of core packages — first time setup.
- 🛠 =mdw-defaults.el= ⇨ Defaults that are /in theory/ directly portable to a vanilla Emacs config
- 🎨 =mdw-vibes.el= ⇨ Theme, fonts and anything pretty.
- 🛠 =mdw-utilities.el= ⇨ Misc accumulated functions from the internet or old configs
- 📦 =mdw-modes.el= ⇨ All use-package configurations and mode configuration, including
- 🗒 =mdw-org.el= ⇨ Orgmode stuff
- 🛠 =mdw-ess.el= ⇨ R settings
- ⌨ =mdw-keybinds.el= ⇨ All keybinds, including general-define-key stuff.** Preview
#+ATTR_HTML: :alt A really messy code base
[[file:docs/preview.png]]
#+ATTR_HTML: :alt When I need to shut up and fucking write something (example here only).
[[file:docs/writing-preview.png]]* Notes most likely for me
Note that while Evil is installed, Emacs is the default. Evil insert mode reverts to Emacs mode. Therefore, I don't have a vim insert state.
*** Keybinds etc
- =C-u M-^= - delete-indentation and pull up
- =(global-set-key (kbd "C-c C-\\") 'xah-shrink-whitespaces)=#+begin_src emacs-lisp
(use-package expand-region
:bind (("M-[" . er/expand-region)
("C-(" . er/mark-outside-pairs)))
#+end_srchttps://github.com/noctuid/general.el#which-key-integration
#+begin_src emacs-lisp
(general-define-key
:prefix "SPC"
:keymaps 'normal
;; unbind SPC and give it a title for which-key (see echo area)
"" '(nil :which-key "my lieutenant general prefix")
;; bind nothing but give SPC f a description for which-key
"f" '(:ignore t :which-key "file prefix")
;; use a cons as a replacement
"g" '(:ignore t :wk ("g-key" . "git prefix"))
;; toggle lispy; use a function as a replacement to show if currently on
"l" '(lispy-mode :wk my-lispy-which-key-display)
;; for a keymap, only the keys will be matched;
;; :no-match-binding is not necessary
"p" '(:keymap projectile-command-map :wk "projectile prefix")
;; don't display this keybinding at all
"z" '(hidden-command :wk t)
...)
#+end_src