Skip to content
sptankard edited this page Feb 20, 2015 · 4 revisions

List of included packages in core of prelude, descriptions are mostly copied from original source.

Ace jump mode

A minor mode of Emacs which help you to move the cursor within Emacs. You can move your cursor to ANY position ( across window and frame ) in emacs by using only 3 times key press.

Keybinding Description
jj Jump to the beginning of a word(ace-jump-word-mode)
jk Jump to a character(ace-jump-char-mode)
jl Jump to the beginning of a line(ace-jump-line-mode)

[Github] [Demo]

Ace jump buffer

An extension for ace-jump-mode and the native bs buffer menu that lets you hop to Emacs buffers in two key strokes.

Keybinding Description
C-c J or Super-> Jump between buffers

[Github]

Ace window

Quickly switch windows using ace-jump-mode. Also check out Xah Lee's article on this subject which suggests another workflow Emacs: Effective Windows Management

Keybinding Description
C-c J or Super-> Jump between windows

[Github] [Demo]

Anzu

A minor mode which displays current match and total matches information in the mode-line in various search modes.

Keybinding Description
M-% anzu-query-replace
C-M-% anzu-query-replace-regexp

[Github] [Demo]

Browse kill ring

Are you tired of using the endless keystrokes of C-y M-y M-y M-y ... to get at that bit of text you killed thirty-seven kills ago? Ever wish you could just look through everything you've killed recently to find out if you killed that piece of text that you think you killed, but you're not quite sure? If so, then browse-kill-ring is the Emacs extension for you.

Keybinding Description
yy Browse the kill ring

[Github]

Discover my major

Keybinding Description
C-h C-m Display key bindings of current major mode and descriptions of every binding.

[Github] [Demo 1] [Demo 2]

Diff hl

Highlights uncommitted changes on the left side of the window, allows you to jump between and revert them selectively.

Keybinding Description
C-x v = `diff-hl-diff-goto-hunk'
C-x v n `diff-hl-revert-hunk'
C-x v [ `diff-hl-previous-hunk'
C-x v ] `diff-hl-next-hunk'

[Github] [Demo]

Diminish

Lets you fight modeline clutter by removing or abbreviating minor mode indicators.

[Source code]

Easy kill

Simple yet powerful killing and marking mode for Emacs.

Keybinding Description
M-w w Save word at point
M-w s Save sexp at point
M-w d Save defun at point
M-w D Save current defun name
M-w b Save buffer-file-name or default-directory. - changes the kill to the directory name, + to full name and 0 to basename.

You can expand/shrink selection selection with +, - or append it to last kill with @. For more bindings and documentation visit Github repository.

[Github]

Expand region

Expand region increases the selected region by semantic units.

Keybinding Description
C-= Run expand-region (incremental text selection)

[Github] [Demo]

Flycheck

Flycheck is a modern on-the-fly syntax checking extension for GNU Emacs 24. It uses various syntax checking and linting tools to check the contents of buffers, and reports warnings and errors directly in the buffer, or in an optional error list.

Keybinding Description
M-g n or C-c ! n Next error
M-g p or C-c ! p Previous error
C-c ! l List all errors in the current buffer in a separate buffer.

[Website] [Github] [Demo]

Gist

Yet another Emacs paste mode, this one for Gist.

gist-list - Lists your gists in a new buffer. Use arrow keys to browse, RET to open one in the other buffer.

gist-region-or-buffer - Post either the current region, or if mark is not set, the current buffer as a new paste at ist.github.com. Copies the URL into the kill ring. With a prefix argument, makes a private paste.

[Github]

Git time machine

Step through historic versions of git controlled file using everyone's favourite editor.

Visit a git-controlled file and issue M-x git-timemachine

Keybinding Description
p Visit previous historic version
n Visit next historic version
w Copy the abbreviated hash of the current historic version
q Exit the time machine

[Github] [Demo] [Blog post]

God Mode (no more RSI)

This is a global minor mode for entering Emacs commands without modifier keys. It's similar to Vim's separation of commands and insertion mode.

In the example below you can see how much effort is reduced:

Before: C-p C-k C-n M-^ ) C-j C-y M-r C-x z z M-2 M-g M-g C-x C-s
After:    p   k   n g ^ )   j   y g r     . .   2   g   g   x   s
Keybinding Description
Super-g Toggle between God mode and non-God mode

[Github] [Blog post from auther]

Guru mode

Learn to use Emacs the way it was meant to be used (the Emacs guru way). Guru mode disables some common keybindings and suggests the use of the established Emacs alternatives instead. For more info take a look at Warnings on arrow navigation in editor buffers

[Github] [Demo] [Blog post from auther]

Projectile

Projectile is a project interaction library for Emacs and provides easy project management and navigation. Here's some of functionality provided by Projectile (for more info and binding please visit the original repository):

Keybinding Description
C-c p f Display a list of all files in the project. With a prefix argument it will clear the cache first.
C-c p d Display a list of all directories in the project. With a prefix argument it will clear the cache first.
C-c p T Display a list of all test files(specs, features, etc) in the project.
C-c p s g Run grep on the files in the project.
M-- C-c p s g Run grep on projectile-grep-default-files in the project.
C-c p b Display a list of all project buffers currently open.
C-c p o Runs multi-occur on all project buffers currently open.
C-c p r Runs interactive query-replace on all files in the projects.
C-c p R Regenerates the projects TAGS file.
C-c p k Kills all project buffers.
C-c p e Shows a list of recently visited project files.
C-c p s s Runs ag on the project. Requires the presence of ag.el.
C-c p c Runs a standard compilation command for your type of project.
C-c p P Runs a standard test command for your type of project.
C-c p p Display a list of known projects you can switch to.

Prelude adds an extra keymap prefix S-p (S stands for Super), so you can use S-p instead of C-c p.

If you ever forget any of Projectile's keybindings just do a:

C-c p C-h

[Github] [Demo] [Exploring large projects with Projectile and Helm Projectile]

Magit

Magit is an interface to the version control system Git, implemented as an Emacs extension.

Keybinding Description
C-x g Open Magit's status buffer.
Super-m m Magit status
Super-m l Magit log
Super-m f Magit file log
Super-m b Magit blame mode

[Website] [Github] [Demo] [Magit User Manual] [An introduction to Magit]

Move text

It allows you to move the current line up/down, if a region is marked, it will move the region instead.

Keybinding Description
C-S-up or M-S-up Move the current line or region up.
C-S-down or M-S-down Move the current line or region down.

[Source code]

Operate on number

Manipulate integer at point.

Keybinding Description
C-c . + Increment integer at point. Default is +1.
C-c . - Decrement integer at point. Default is -1.
C-c . * Multiply integer at point. Default is *2.
C-c . / Divide integer at point. Default is /2.
C-c . \ Modulo integer at point. Default is modulo 2.
C-c . ^ Power to the integer at point. Default is ^2.
C-c . < Left-shift integer at point. Default is 1 position to the left.
C-c . > Right-shift integer at point. Default is 1 position to the right.
C-c . # Convert integer at point to specified base. Default is 10.
C-c . % Replace integer at point with another specified integer.
C-c . ' Perform arithmetic operations on integer at point. User specifies the operator.

[Github]

Smartparens

Smartparens is minor mode for Emacs that deals with parens pairs and tries to be smart about it. It started as a unification effort to combine functionality of several existing packages in a single, compatible and extensible way to deal with parentheses, delimiters, tags and the like. Some of these packages include autopair, textmate, wrap-region, electric-pair-mode, paredit and others. With the basic features found in other packages it also brings many improvements as well as completely new features. Here's a highlight of some features.

[Github] [Documentation] [Video introduction] [Demo]

Undo tree

See Emacs undo history as tree and move between branches. This package makes easier to undo in region. Also saves undo history persistently.

Keybinding Description
uu View edits as a tree(undo-tree-visualize)

[Github] [Demo]