key bindings

See also:

Note: "cua" refers to the IBM "Common User Access" standard, an influential standard for key bindings and gui. The '~' in front indicates that not all these key bindings actually belong to the CUA but they are commonly used as a sort of CUA inspired consensus-standard…

  • text-console programs that use emacs-based key bindings:
    • text-editors: JED
    • web-browsers: conkeror
  • text-console programs that use cua-inspired key bindings:
    • text-editors: Diakonos, (ne)

files

~cua emacs vi
new ctrl+n :enew
open ctrl+o ctrl+x ctrl+f :e filename
reload ctrl+r
F5
:e
save ctrl+s ctrl+x ctrl+s :w
save all ctrl+x s :wall
list all ctrl+x ctrl+b :files
select ctrl+x b :e#<n>
change to next ctrl+tab alt+n :bn
change to previous shift+ctrl+tab alt+p :bp
close ctrl+w ctrl+x k :q
:close
close all = quit ctrl+q ctrl+x ctrl+c :qa

navigation

~cua emacs vi
beginning of file/buffer ctrl+home alt+< 1G
gg
end of file/buffer ctrl+end alt+> G
back one screen (up) page-up alt+v ctrl+b
forward one screen (down) page-down ctrl+v ctrl+f
back a half screen (up) ctrl+u
forward a half screen (down) ctrl+d
beginning of line home ctrl+a 0
_
^
end of line end ctrl+e $
g_
back one word ctrl+left alt+b b
B
forward one word ctrl+right alt+f w
W
back one sentence alt+a (
forward one sentence alt+e )
Search forward ctrl+f ctrl+s /
Repeat last search forward ctrl+g
F3
ctrl+s ctrl+s n
Search backward ctrl+r ?
Repeat last search backward ctrl+shift+g
shift+F3
ctrl+r ctrl+r N

editing

  • In vi: yanking = copying
  • In emacs: yanking = pasting
  • IBM's Common User Access standard defines shift+del for cut, ctrl+ins for paste, shift+ins for paste and alt+bksp for undo
  • Apple defined ctrl+x for cut, ctrl+c for copy, ctrl+v for paste and ctrl+z for undo
~cua emacs vi
cut shift+del
ctrl+x
ctrl+w d
copy ctrl+ins
ctrl+c
alt+w y
paste shift+ins
ctrl+v
ctrl+y
(alt+y)
p
undo alt+bksp
ctrl+z
ctrl+/
ctrl+_
ctrl+x u
u
redo ctrl+y
select all ctrl+a ctrl+x h ggVG

help

~cua emacs vi
help F1 ctrl+h …
F1 …
:help
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License