Emacs

From Bitpost wiki

Intro

Emacs is great and sucks too. NEVER USE IT when you have a GUI!

Installation

Fuck the emacs operating system, we just want a terminal editor. Always install it without X support:

sudo apt install emacs-nox

Configuration

  • Use CUA mode
  • This common config should work well in both terminal and UI:
/home/m/development/config/common/home/m/.emacs

NOTE that you need some other things to be configured properly:

  • the terminal must use a light light blue background since it will be carried over into [emacs -nw]
  • the terminal must have 256-color support; set this in .bashrc:
export TERM=xterm-256color
  • Make sure you check out undo support via [ctrl-x u]

Colors

God the entire command line world is stuck in the 60s... hopefully the terminal colors stick when editing, but sometimes (RUBY cough couhg) emacs tries to "help" with garish bullshit colors that prevent reading code... try this if you're desperate...

Alt-X set-background-color [Enter] #111111 [enter]

GPG

Emacs can auto-en/decrypt GPG files during load/save, which is EXCELLENT since there is never plaintext on disk.

  • You should have gpg installed by default, but apt install if needed. Create a strong key with passphrase; see gpg.
  • Configure emacs to prompt for PIN, otherwise gpg-agent prompt and emacs interfere with each other and lock out keyboard:
emacs ~/.emacs.d/init.el
  (setq epa-pinentry-mode 'loopback)
  • Use files with .gpg extention to inform emacs to attempt decryption.
  • To create a newly encrypted file, just tell emacs to open it, and select your gpg key as encryption target (hit M on it, then hit Enter on the OK "button"). When you save, it will be encrypted.