Skip to content

rhuid/emacs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Knot Emacs

This is my Emacs customization, prioritized for speed, efficiency and functionality.

  • Builds on vanilla GNU Emacs. Assumes GNU Emacs 30.1 or higher.
  • Uses use-package and use-package-vc. I have tried straight.el in the past and I believe use-package-vc (built-in) is cleaner, leaner and makes Emacs boot up faster.
  • Native compilation is enabled by default. Native compilation cuts down boot up time and Emacs starts faster overall.
  • Using server-client model, Emacs starts up almost instantly.
  • I use my version of Colemak-DH keyboard layout but my config would work fine in QWERTY or other layouts as well. This is due to Emacs’s mnemonic-keybindings design.

Design philosophy

I want an editor and personal companion for life. Minimalist, fast, extensible and stable. Accomplish more by using less. Don’t keep things you don’t need. When there is a choice, choose the built-in way: they are more stable and predictable. When you want some feature, first try to write it in Emacs Lisp yourself. Be brief. Implement only what you need. Keep it light and do things the native way.

A minimalist modeline, a super lightweight but feel-good startup screen and a nice looking lightweight theme… what more visual effects do you need?

My usecase

I use Emacs for editing text, writing documents, proving theorems, doing mathematics, programming, creating presentations, managing files, organizing my life and more. In each of these usecases, I haven’t found anything that does it better than Emacs does.

On the editor

To make editing more efficient and faster, I have redefined or reimplemented some of the built-in functions and added new ones. I shall add new ones (when I find myself needing one and not for the sake of just adding). Most are built from built-in functions and some extra juice (of course). One emphasis is to overload commands and make them context-sensitive, so that they behave as expected. Universal arguments can and must be exploited whenever it’s convenient.

Over the years

I began my Emacs journey with vanilla keybindings. Over the years, I tried evil-mode, to find out what the craze was all about, and even started liking modal editing, but due to some limitations and personal desire for more quests, I tried meow modal editing, even found it much better than evil but finally after a long affair with modal editing, I came back to good old, chordy, musical, rhythmic vanilla keys. In the long run, I realized that vanilla keybindings are just better. Although modal editing does have its benefits, I found that a pure emacsy editing is just more efficient, predictable, and leaner overall.

I believe that one of the greatest things about Emacs is its infinite extensibility and one should not compromise that.

Other things

  • To enable Emacs keybindings for all GTK text fields (including Firefox), run in shell:
gsettings set org.gnome.desktop.interface gtk-key-theme "Emacs"

About

GNU Emacs with my custom editing environment

Topics

Resources

Stars

Watchers

Forks