• Stars
    star
    156
  • Rank 238,734 (Top 5 %)
  • Language
    Emacs Lisp
  • License
    Other
  • Created over 1 year ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Emacs minor mode that intercepts and translates keystrokes to provide a modifier-free non-modal editing experience

Devil Mode

https://melpa.org/packages/devil-badge.svg https://stable.melpa.org/packages/devil-badge.svg https://elpa.nongnu.org/nongnu/devil.svg https://img.shields.io/badge/mastodon-%40susam-%2355f.svg

Devil mode trades your comma key in exchange for a modifier-free editing experience in Emacs. Yes, the comma key! The key you would normally wield for punctuation in nearly every corner of text. Yes, this is twisted! It would not be called the Devil otherwise, would it? If it were any more rational, we might call it something divine, like, uh, the God mode? But alas, there is nothing divine to be found here. Welcome, instead, to the realm of the Devil! You will be granted the occasional use of the comma key for punctuation, but only if you can charm the Devil. But beware, for in this sinister domain, you must relinquish your comma key and embrace an editing experience that whispers wicked secrets into your fingertips!

Introduction

Devil is available in MELPA as well as NonGNU ELPA. If you are using Emacs 28.1 or a more recent version of Emacs, you can get the latest stable version of Devil by typing M-x package-install RET devil RET. Otherwise, you need to add MELPA or NonGNU ELPA to your list of package archives and then install MELPA. More details on the installation procedure is provided in the manual.

By default, Devil mode rebinds the comma key to activate Devil. Once activated, Devil reads a so-called Devil key sequence from you. As you type your Devil key sequence, Devil translates the key sequence to a regular Emacs key sequence. If any command is bound to the translated Emacs key sequence, Devil runs that command and then deactivates itself.

By default, each comma in the Devil key sequence is translated to β€œC-β€œ. For example, if you type β€œ, x , f”, Devil translates it to β€œC-x C-f”. Similarly β€œ, m” is translated to β€œM-β€œ. If you type β€œ, m x”, Devil translates it to β€œM-x”. Further β€œ, m m” is translated to β€œC-M-β€œ. If you type β€œ, m m f” Devil translates it to β€œC-M-f”. There are several other translations available in the default translation rules that let you enjoy working with Emacs while avoiding modifier keys. Further, the Devil activation key, translation rules, etc. are customisable. Thus if you do not like the default choices made in this package, you can customise it easily to suit your preferences.

Read the manual to learn how to install, use, and customise Devil.

Channels

The author of this project hangs out at the following places online:

You are welcome to subscribe to, follow, or join one or more of the above channels to receive updates from the author or ask questions about this project.

Support

To report bugs, suggest improvements, or ask questions, create issues.

Thanks

Thanks to:

Reactions

Some amusing reactions to this project collected from various corners of the world wide web:

Every bit of this horrifies me, and I can’t believe you’ve done it. Outstanding. Well done! – @kstrauser

This is insane. I am going to try it immediately. – @jrockway

Will defiantly check this out. – @strings

Defiantly! – @oantolin

😈 – @SequentialDesign

More

See Emacs4CL, a DIY quick-starter kit to set up Emacs for Common Lisp programming.

See Emfy, a DIY quick-starter kit to set up Emacs for general purpose editing and programming.

More Repositories

1

texme

Self-rendering Markdown + LaTeX documents
JavaScript
2,276
star
2

mintotp

Minimal TOTP generator in 20 lines of Python
Python
1,299
star
3

uncap

Map Caps Lock to Escape or any key to any key
C
1,048
star
4

gitpr

Quick reference guide on fork and pull request workflow
Makefile
957
star
5

spcss

A simple, minimal, classless stylesheet for simple HTML pages
CSS
939
star
6

emfy

A dark and sleek Emacs setup for general purpose editing and programming
Emacs Lisp
932
star
7

muboard

Self-rendering and distributable mathematics chalkboards
JavaScript
560
star
8

emacs4cl

A tiny DIY kit to set up vanilla Emacs for Common Lisp programming
Emacs Lisp
368
star
9

tucl

The first-ever paper on the Unix shell written by Ken Thompson in 1976 scanned, transcribed, and redistributed with permission
Makefile
355
star
10

mathb

Share mathematics on the web with LaTeX and Markdown
Common Lisp
308
star
11

cfrs

An extremely minimal drawing language consisting of only 6 simple commands: C, F, R, S, [, and ].
HTML
240
star
12

invaders

A 1980s-arcade-style game written using HTML5, Canvas, and Web Audio
HTML
166
star
13

hello

A 23-byte β€œhello, world” program assembled with DEBUG.EXE in MS-DOS
Assembly
156
star
14

pov25

Ray tracing 25 scenes in 25 days with POV-Ray
POV-Ray SDL
154
star
15

fxyt

Tiny, esoteric, stack-based, postfix, canvas colouring language with only 36 simple commands
HTML
114
star
16

pcface

Bitmap arrays for rendering CP437 glyphs using IBM PC OEM fonts
Python
86
star
17

lab

Random experiments, exploration, and learning
Shell
80
star
18

vimer

Declutter your desktop by opening files in existing instance of GVim/MacVim
Shell
70
star
19

myrgb

A simple RGB color guessing game
HTML
67
star
20

quickqwerty

Touch typing tutor that runs in your web browser
JavaScript
61
star
21

ice

Ice - WSGI on the rocks
Python
58
star
22

aes.vbs

AES-256-CBC Encrypt and Decrypt Functions in VBScript
VBScript
52
star
23

heart

Hearts drawn with Python Matplotlib and C
Python
43
star
24

timebox

A timer script for Windows/Linux/Unix/macOS to practice timeboxing (the time management technique)
Shell
43
star
25

may4

Celebrating Star Wars Day with some Forth code! May the Forth be with you!
Forth
38
star
26

susam.net

Source code of https://susam.net/
Common Lisp
35
star
27

inwee

Conveniently send text and commands from file or standard input to WeeChat with this wrapper around WeeChat's FIFO pipe
Shell
25
star
28

bfc

Brainfuck compiler and interpreter
C
17
star
29

reboot

A 5-byte reboot program assembled with DEBUG.EXE in MS-DOS
Assembly
16
star
30

nimb

NIMB IRC Matrix Bridge (NIMB) is a simple client tool that bridges IRC and Matrix channels and forwards messages from one to others
Python
16
star
31

dotfiles

Mostly ~/.* files to configure emacs, vim, sh, tmux, etc. on Debian, macOS, and Windows
Shell
13
star
32

userscripts

Very tiny userscripts to customise the apperance of Hacker News
JavaScript
10
star
33

mano-cpu

My bachelor's degree final year project: A CPLD implementation of a 16-bit microprocessor I learnt from Computer System Architecture by M. Morris Mano
VHDL
8
star
34

susam.github.io

Mirror of https://susam.net/ generated from https://github.com/susam/susam.net
HTML
6
star
35

talks

Talks and presentations
TeX
6
star
36

maze

Susam's Maze β€’ Main website: https://susam.in/maze/ β€’ Mirror: https://susam.github.io/maze/
Common Lisp
5
star
37

licenses

Reusable copies of open source licenses
HTML
3
star
38

blob

Binary files generated from or used by other repositories
HTML
3
star
39

sunaina-and-susam

Sunaina & Susam's wedding website
HTML
2
star
40

.github

1
star
41

emacskeys

Screencasts of Emacs keys and commands
HTML
1
star