Skip to content

An Emacs minor mode which lets you navigate without holding Control. Save your pinkies!

Notifications You must be signed in to change notification settings

jayconrod/pinky-mode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Introduction

"Emacs Pinky" is a condition where you feel pain in one or both of your pinky fingers from using Emacs. This is because Emacs requires you to hold [Ctrl] to do anything other than inserting text. On most keyboards, [Ctrl] is pressed with the pinky, so this causes a lot of stress.

What can you do about this though? Switch to Vim? You'll have to learn a new set of key bindings and throw away all your customizations! It will be awful!

pinky-mode to the rescue! pinky-mode is a minor mode which lets you use most common navigation commands without touching [Ctrl]. It is inspired by command mode in Vim. Once activated, just use the letter keys to navigate your buffer. For example, press n instead of C-n to move to the next line. This lets you keep using your muscle memory! See the full list of key bindings below. Press i to leave pinky-mode and go back to inserting text.

When pinky-mode is active, the cursor color will change, and "Pinky" will be shown in the mode line. You can customize the cursor color with M-x customize-group RET pinky RET.

pinky-mode works with window-number to switch between windows in the same frame. Just tap a number key to go to any window.

Installation:

Once the pinky-mode package is installed, add this to your .emacs:

(require 'pinky-mode)

You will need to bind pinky-mode-activate to something you can press easily. I use the key-chord package to bind this to jk (press j and k at the same time). This is entirely up to you though.

(require 'key-chord)
(key-chord-mode 1)
(key-chord-define-global "jk" 'pinky-mode-activate)

To force yourself to learn pinky-mode, consider disabling the normal key bindings for navigation.

(pinky-unbind-normal-keys)

List of key bindings

Key Function
set-mark-command
, beginning-of-buffer
. end-of-buffer
a move-beginning-of-line
b backward-char
c switch-to-buffer
d delete-char
e move-end-of-line
f forward-char
g goto-line
i pinky-mode-deactivate
k kill-line
m scroll-down-command
n next-line
o open-line
p previous-line
r isearch-backward
s isearch-forward
u undo
v scroll-up-command
w kill-ring-save
x exchange-point-and-mark
y yank
0-9 window-number-select

About

An Emacs minor mode which lets you navigate without holding Control. Save your pinkies!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published