Giter VIP home page Giter VIP logo

jeremyf_dotemacs's Introduction

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
custom.el
Customizations file
early-init.el
The preamble for starting Emacs
hide-comnt.el
A silly little mode to hide comments
init.el
The guts of Emacs initialization
jf-blogging.el
Functions that I use for blogging, this houses deprecated methods.
jf-coding.el
Specific functions to help coding
jf-communicating.el
Configuration for running Mastodon in my Emacs
jf-completing.el
Functions that help completing read
jf-denote.el
My configuration and extension of the Denote package
jf-fonts-and-iconography.el
the look and feel of the words I type
jf-formatting.el
jf-framing.el
jf-gaming.el
jf-illuminating.el
jf-launching.el
jf-menus.el
jf-minor-mode-maker.el
jf-navigating.el
jf-org-mode.el
Beloved OrgMode \ Along my path we meet and \ Now walk together
jf-organizing.el
jf-project.el
Connective tissue for projects
jf-quick-help.el
jf-reading.el
jf-utility.el
jf-versioning.el
jf-windows.el
jf-writing.el
General writing functions

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.

jeremyf_dotemacs's People

Contributors

jeremyf avatar

Stargazers

el-y-yo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.