GNU Emacs

GNU Emacs is my editor of choice and it has been for quite a long time.

I use vanilla Emacs, configuring it manually each time I start using a computer.

Configuration

Here's the key part of my configuration, with some comments.

Packages

I only use Melpa packages.

(require 'package)
 
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
 
(package-initialize)

Behaviour

I hide everything I can, keep some (numbered) versions. I use FreeBSD, so I haven't got ls extension Dired usually uses.

(setq inhibit-startup-message t
      initial-scratch-message ""
      version-control t
      delete-old-versions t
      kept-old-versions 10
      kept-new-versions 5
      dired-kept-versions 5
      uniquify-buffer-name-style 'post-forward-angle-brackets
      uniquify-strip-common-suffix t
      line-move-visual nil
      history-length 200
      visible-bell t)
 
(auto-save-visited-mode 1)
 
(save-place-mode 1)
(savehist-mode 1)
 
(setq dired-use-ls-dired nil)
 
(calendar-set-date-style 'iso)
(set-language-environment "Polish")
(set-default-coding-systems 'utf-8)
(setq calendar-week-start-day 1
      display-time-format "%d%^b W%0V")
 
(menu-bar-mode -1)
(tool-bar-mode -1)
(blink-cursor-mode 1)
(setq blink-cursor-blinks -1)
(display-time-mode 1)
(display-battery-mode 1)
 
(setq-default truncate-lines nil
	      fill-column 78)
 
(show-paren-mode t)
(setq show-paren-style 'parenthesis
      show-paren-delay 0.3)

Completion

I use orderless completion (available as a package), which lets me complete items based on parts of their names but not in their exact order. It's a very neat way of looking up or even discovering things in Emacs!

(require 'orderless)
 
(setq completion-styles '(orderless))

Extensions

I use following extensions:

Display

I change themes from time to time, with several standing out for being on my list for a long time:

  • flatland
  • timu-spacegrey
  • tron-legacy
  • base16-darkviolet
  • modus-operandi
  • dakrone-light
  • tok

I prefer fonts with programming ligatures. After some time spent with Fira Code I've changed to Monoid open-source coding font. So far I enjoy it (writing this 2025-03-15).