GNU Emacs keyboard shortcuts

Emacs is a programmable text editor that's been around since the 1970s, driven by Control and Meta keys. These commands move the cursor, cut and paste text (kill and yank), visit files, switch buffers and windows, search and replace, get help, and record keyboard macros.

Windows, macOS, Linux · 62 shortcuts

Movement

These default editing commands move by character, word, line, sentence, screen, or buffer.

ActionShortcuts
Move forward one character
Windows / macOS / LinuxCtrl + F
Move backward one character
Windows / macOS / LinuxCtrl + B
Move to the next line
Windows / macOS / LinuxCtrl + N
Move to the previous line
Windows / macOS / LinuxCtrl + P
Move to the beginning of the line
Windows / macOS / LinuxCtrl + A
Move to the end of the line
Windows / macOS / LinuxCtrl + E
Move forward one word
Windows / LinuxAlt + F
macOSOption + F
Move backward one word
Windows / LinuxAlt + B
macOSOption + B
Move to the previous sentence
Windows / LinuxAlt + A
macOSOption + A
Move to the next sentence
Windows / LinuxAlt + E
macOSOption + E
Scroll forward one screen
Windows / macOS / LinuxCtrl + V
Scroll backward one screen
Windows / LinuxAlt + V
macOSOption + V
Move to the beginning of the buffer
Windows / LinuxAlt + <
macOSOption + <
Move to the end of the buffer
Windows / LinuxAlt + >
macOSOption + >
Go to a line
Windows / LinuxAlt + G then G
macOSOption + G then G

Editing and regions

Kill commands remove text into the kill ring, while yank commands put it back.

ActionShortcuts
Delete the character at point
Windows / macOS / LinuxCtrl + D
Delete the character before pointGNU documents this as DEL, which is commonly the Backspace key on a modern keyboard.
Windows / macOS / LinuxDEL
Kill to the end of the line
Windows / macOS / LinuxCtrl + K
Kill the next word
Windows / LinuxAlt + D
macOSOption + D
Kill the previous word
Windows / LinuxAlt + Backspace
macOSOption + Backspace
Kill the active region
Windows / macOS / LinuxCtrl + W
Copy the active region to the kill ring
Windows / LinuxAlt + W
macOSOption + W
Yank the most recent kill
Windows / macOS / LinuxCtrl + Y
Replace the last yank with the previous kill
Windows / LinuxAlt + Y
macOSOption + Y
Set the mark
Windows / macOS / LinuxCtrl + Space
Exchange point and mark
Windows / macOS / LinuxCtrl + X then Ctrl + X
Mark the entire buffer
Windows / macOS / LinuxCtrl + X then H
Undo
Windows / macOS / LinuxCtrl + _
Quit the current command
Windows / macOS / LinuxCtrl + G

Files

File commands visit, save, write, revert, and close buffers in the current Emacs session.

ActionShortcuts
Visit a file
Windows / macOS / LinuxCtrl + X then Ctrl + F
Visit a file read-only
Windows / macOS / LinuxCtrl + X then Ctrl + R
Visit a different file in the current buffer
Windows / macOS / LinuxCtrl + X then Ctrl + V
Visit a file in another window
Windows / macOS / LinuxCtrl + X then 4 then F
Visit a file in another frame
Windows / macOS / LinuxCtrl + X then 5 then F
Save the current buffer
Windows / macOS / LinuxCtrl + X then Ctrl + S
Write the buffer to a new file
Windows / macOS / LinuxCtrl + X then Ctrl + W
Save some modified buffers
Windows / macOS / LinuxCtrl + X then S
Execute a named command
Windows / LinuxAlt + X
macOSOption + X
Quit Emacs
Windows / macOS / LinuxCtrl + X then Ctrl + C

Buffers and windows

Switch buffers, split or remove windows, and move between windows with these prefix commands.

ActionShortcuts
Switch to a buffer
Windows / macOS / LinuxCtrl + X then B
Switch to a buffer in another window
Windows / macOS / LinuxCtrl + X then 4 then B
Switch to a buffer in another frame
Windows / macOS / LinuxCtrl + X then 5 then B
Kill a buffer
Windows / macOS / LinuxCtrl + X then K
Remove the selected window
Windows / macOS / LinuxCtrl + X then 0
Make the selected window the only window
Windows / macOS / LinuxCtrl + X then 1
Split the selected window horizontally
Windows / macOS / LinuxCtrl + X then 2
Split the selected window vertically
Windows / macOS / LinuxCtrl + X then 3
Move to another window
Windows / macOS / LinuxCtrl + X then O

Help

The Control-H prefix opens Emacs's built-in command and manual help.

ActionShortcuts
Show active key bindings
Windows / macOS / LinuxCtrl + H then B
Show the command bound to a key
Windows / macOS / LinuxCtrl + H then C
Show documentation for a key
Windows / macOS / LinuxCtrl + H then K
Show documentation for a function
Windows / macOS / LinuxCtrl + H then F
Search for commands by topic
Windows / macOS / LinuxCtrl + H then A
Open the Emacs manual
Windows / macOS / LinuxCtrl + H then R
Open the Emacs tutorial
Windows / macOS / LinuxCtrl + H then T

Keyboard macros

Record a sequence of keystrokes and replay it from the keyboard macro commands.

ActionShortcuts
Start recording a keyboard macro
Windows / macOS / LinuxCtrl + X then (
Stop recording a keyboard macro
Windows / macOS / LinuxCtrl + X then )
Run the last keyboard macro
Windows / macOS / LinuxCtrl + X then E

Source

GNU Emacs Manual · Checked

GNU Emacs 30.2 manual and current GNU Emacs reference card checked September 1, 2026. Emacs modes can add local bindings, and terminal or operating-system settings can change how Meta, Alt, and function keys reach Emacs.

Make a printable GNU Emacs sheet