Which emacs package?

(Ignore this section. Just use Spacemacs.)

Spacemacs uses evil-mode?

Emacs 24 FAQ recommends VIPER for people who want vim’s . command. There are also other packages such as VI, VIP, evil-mode, and vile. There is a “vile” (vi-like emacs) package on Ubuntu 14.04.

Deal breaker? It seems that Ubuntu 14.04 VIPER doesn’t have * and visual mode.

To enter viper mode, M-x viper-mode.

To exit viper mode, M-x viper-go-away.

To toggle viper mode, M-x toggle-viper-mode.

To change viper level, M-x viper-set-expert-level.

How do I install evil-mode (vi keybindings for emacs)? Should I? It’s not on GNU ELPA.

Feature correspondence table

This table is incomplete. A blank cell means I’m still looking for the content. If you know vi, this may help you learn emacs quicker.

A common design principle is: The more often a command is used, the shorter it should be.

description vi emacs
quit the editor :q C-x C-c
abort a command ESC ESC C-g / ESC ESC ESC
motion    
small motion h, j, k, l (small L) C-b, C-n, C-p, C-f
screenful motion C-f, C-b C-v, M-v
go to beginning of line 0 C-a
go to end of line $ C-e
go to beginning of buffer gg M-<
go to end of buffer G M->
go to line number <number>G M-g g
go to previous position in jumplist C-o  
go to next position in jumplist C-i  
go to matching bracket %  
go to beginning of next word w / W  
go to beginning of previous word b / B M-b
go to ending of this word or next word e / E M-f
file system    
visit file :e <file> C-x C-f <file>
vim netrw / emacs dired :e <dir> C-x C-f <dir>
write file / save buffer :w C-x C-s
find? :f  
marking / selection    
vim visual mode / emacs mark v  
vim visual line mode S-v  
vim visual block mode / column editing C-v  
clipboard    
copy line Y  
copy selection in visual mode y  
paste p C-y
repetition    
repeat prefix <number> C-u <number>
go left 5 chars 5h C-u 5 C-b
repeat last change .  
repeat last command   C-x z
repeat complex command   C-x ESC ESC
buffer    
find buffer :b C-x C-RIGHT
next buffer :bn C-x C-RIGHT
previous buffer :bp C-x C-LEFT
delete buffer :bd C-x k
read into buffer :r  
read shell output into buffer :r!<command>  
insert    
insert after cursor a  
insert before cursor i  
insert at begining of line I (big i)  
insert at end of line A  
insert line above O (big o)  
insert line below o  
overwrite/replace    
replace mode (overwrite) R  
replace from cursor to end of word cw  
replace from cursor to end of line C / c$  
deleting/cutting    
delete from cursor to end of word   M-d
delete from cursor to just before next word dw  
delete from cursor to end of line D / d$ C-k
delete character under cursor x C-d
delete to character df<char> M-z <char> RET / M-x zap-to-char
delete to nth occurrence of char after cursor d<n>f<char> C-u <n> M-z <char> RET
indenting    
indent > C-x TAB / M-x indent-rigidly
indent   C-u 4 C-x TAB
find, search    
incremental search forward /<text> C-s
incremental search backward /? C-r
find next occurrence n C-s
find previous occurrence N C-r
find next occurrence of word under cursor *  
find previous occurrence of word under cursor #  
undo/redo    
undo u  
redo C-r  
emacs undo/redo   C-/ | C-_ | C-x u

Other similar tables