Skip to content

Latest commit

 

History

History
85 lines (62 loc) · 3.97 KB

README.org

File metadata and controls

85 lines (62 loc) · 3.97 KB

README for Dotemacs

This is my Emacs configuration repository. It pairs with my dotzshrc repository. The install.rb script of the dotzshrc repository uses this repository. For implementation reasons, the emacs.d directory contains the init files that I link into my $HOME/.emacs.d directory.

For those curious, I wrote Why I Chose Emacs as My New Text Editor // Take on Rules.

The Structure

Below is the top-level directory:

> tree -L 1
.
├── README.org
├── emacs.d
├── lib
├── random-tables
└── templates

3 directories, 2 files

The files and directories:

README.org
This file.
emacs.d
A directory that contains files symlinked into $HOME/.emacs.d directory.
lib
Some scripts I’ve written to help with my Emacs configuration.
random-tables
Fodder for gaming, really not very well developed.
templates
Templates for the Emacs tempel package.

The emacs.d Directory

There are two “primary” files to consider in ./emacs.d:

init.el
The file evaluated when Emacs launches.
early-init.el
The file evaluated early on when Emacs launches.

Digging Further into emacs.d

The init.el file requires the various files in my emacs.d directory. As of <2022-11-19 Sat> I shifted from Literate configuration to a Emacs Lisp configuration. I appreciate being able to jump to the definition and edit directly; something that wasn’t immediately obvious with Literate configuration.

Organizing concepts is an interesting challenge, as packages interact in a multi-dimensional manner. Each of my jf-<concept>.el has a rudimentary commentary.

abbrev_defs
Common typos auto-corrected
early-init.el
The preamble for starting Emacs
hide-comnt.el
A silly little mode to hide comments
init.el
Most everything of or related to my Emacs configuration.
[[file:emacs.d/dig-my-grave.el][dig-my-grave.el]
An `org-mode` package that extends the triple back tick by providing a prompt for block context.
org-charsheet.el
A work-in-progress package for managing Org Headline metadata (with a focus on table top role-playing games).

Keybinding Prefixes

On <2023-10-20 Fri> I began refactoring some keybindings. There were functions that got “prime” key chords but were not things I’d frequently use. As such, I’m taking a two-fold approach:

  1. Create and document keybinding prefixes
  2. Rely on the which-key package to provide bits of guidance.

Those keybinding prefixes are as follows:

  1. C-c y :: Yank something; as insert some text.
  2. C-c w :: Wrap something; as in wrap the current region by inserting text before and after the region.
  3. C-c f :: Find something; search the file or project for something.
  4. C-c j :: Jump to something; I have C-j bound avy-goto-char-timer as a quick in buffer jumper. And C-c C-j as jf/project/jump-to-task; which provides another context

There are foundational keys that are deeply bound to muscle memory:

C-s
For consult-line; a mini-buffer search and go to line within file. Akin to a feature I used in TextMate, Sublime, and Atom.
s-t
For consult-projectile; a very potent navigation through buffers, files, and projects.