# Keyboard shortcuts
Keyboard shortcuts allow a user to use Zulip easily and efficiently
for a better user experience.
Zulip keyboard shortcuts are divided into four categories:
* [Navigation](#navigation)
* [Composing messages](#composing-messages)
* [Narrowing](#narrowing)
* [Message actions](#message-actions)
* [Menus](#menus)
* [Drafts](#drafts)
* [Streams](#streams)
!!! warn ""
**Note:** We note how to enter keyboard shortcuts using keys not
present on the MacOS keyboard in parentheses below.
## Navigation
* **Initiate a search**: `/` — Moves the user's cursor to the message search
bar at the top of the window to allow them to begin searching for messages with
specific criteria in the organization.
* **Search people**: `q` — Moves the user's cursor to the user search bar in
the right sidebar to to allow them to begin searching for a particular user in
the organization. d * *
* **Search streams**: `w` — Moves the user's cursor to the
stream search bar in the left sidebar to to allow them to begin searching for a
particular stream in the organization.
* **Previous message**: `k` or `↑` — Allows the user to scroll up to the
previous message in their view.
* **Next message**: `j` or `↓` — Allows the user to scroll down to the next
message in their view.
* **Scroll up**: `K` or `PgUp` (`Fn` + `↑`) — Allows the user to scroll up
through the messages in their view.
* **Scroll down**: `J`, `Spacebar`, or `PgDn` (`Fn` + `↓`) — Allows the user to
scroll down through the messages in their view.
* **Last message**: `End` (`Fn` + `⇾`) or `G` — Allows the user to scroll to
the most recent message in their view.
* **First message**: `Home` (`Fn` + `⇽`) — Allows the user to scroll to the
most recent message in their view.
## Composing messages
* **Reply to message**: `r` or `Enter` (`Return`) — Allows the user to begin
replying to the selected message (outlined in blue).
* **Reply to author**: `R` — Allows the user to begin writing a private message
to the author of the selected message (outlined in blue).
* **New stream message**: `c` — Allows the user to begin composing a new stream
message.
* **New private message**: `C` — Allows the user to begin composing a new
private message.
* **Reply to message mentioning the author**: `@` — Allows the user to begin
replying to the selected message (outlined in blue), @—mentioning the author of
the selected message.
* **Send message**: `Tab` then `Enter` (`Return`), `Ctrl` + `Enter` (`Return`) —
Allows the user to send the message that they've written.
* **Insert new line**: `Shift` + `Enter` (`Return`) — Allowsthe user to insert
a new line break in their message.
* **Cancel compose**: `Esc` or `Ctrl + [` — Allows the user to cancel and
discard their unsent message.
## Narrowing
* **Narrow by stream**: `s` — This shortcut narrows the view to show all
messages in the stream of the selected message (outlined in blue).
* **Narrow by topic**: `S` — This shortcut narrows the view to show all
messages with the topic of the selected message (outlined in blue).
* **Narrow to all private messages**: `P` — This shortcut narrows the view to
show all of the user's private messages.
* **Narrow to next unread topic**: `n` — This shortcut narrows the view to the
next unread topic in the stream sidebar.
* **Cycle between stream narrows**: `A` and `D` — Allows the user to cycle
through the narrows showing the messages of a stream according to Stream order
in the left sidebar. `A` allows the user to navigate to the previous stream
narrow, and `D` allows the user to navigate to the next stream narrow.
* **Return to home view**: `Esc` or `Ctrl` + `[` — Allows the user to return to
the Home view, showing all messages in the organization.
## Message actions
* **Edit your last message**: `⇽` — This shortcut opens the last editable
message that the user sent in the current view (if any) in the compose box.
* **Show images in thread**: `v` — This shortcut opens any images or videos (if
any) embedded in a message or previous messages within the thread using the
lightbox viewer.
* **Edit selected message**: `i` then `Enter` (`Return`) — Allows the user to
edit the selected message (outlined in blue) if the user authored the selected
message. If the selected message was written by another user, this shortcut will
enable the user to view the source code of the message.
* **Star selected message**: `*` — Allows the user to star the selected message
(outlined in blue).
* **React to selected message with **: ` + ` — Allows the user to react to the selected
message (outlined in blue) with the (`:thumbs_up:`) emoji.
* **Toggle topic mute**: `M` — Allows the user to mute and unmuted the topic of
the selected message (outlined in blue).
## Menus
* **Toggle the gear menu**: `g` — This shortcut opens the gear menu located in
the upper-right corner of the window.
* **Open message menu**: `i` — This shortcut opens the message menu with the
available message actions of the selected message (outlined in blue).
* **Open reactions menu**: `:` — This shortcut opens the emoji reactions menu,
allowing you to add an emoji reaction to the selected message.
* **Show keyboard shortcuts**: `?` — Makes a modal window with a list of all of
the keyboard shortcuts appear.
## Drafts
* **View drafts**: `d` — This shortcut opens the **Drafts** modal with a list
of all of the user's drafts.
* **Select previous draft**: `↑` — This shortcut selects the previous draft in
the **Drafts** modal.
* **Select next draft**: `↓` — This shortcut selects the next draft in the
**Drafts** modal.
* **Scroll up**: `PgUp` (`Fn` + `↑`) — Allows the user to scroll up through the
**Drafts** modal.
* **Scroll down**: `Spacebar` or `PgDn` (`Fn` + `↓`) — Allowsthe user to scroll
down through the **Drafts** modal.
* **Select first draft**: `Home` (`Fn` + `⇽`) — Allowsthe user to scroll to the
first draft in the **Drafts** modal.
* **Select last draft**: `End` (`Fn` + `⇾`) or `G` — Allowsthe user to scroll
to the last draft in the **Drafts** modal.
* **Edit selected draft**: `Enter` (`Return`) — Allows the user to open the
selected draft in the compose box for editing.
* **Delete selected draft**: `Backspace` (`Delete`) — Allows the user to delete
the selected draft, removing it from the **Drafts** modal.
## Streams
* **Scroll through streams**: `↑` and `↓` — Allows you to scroll through the
list of streams shown in the **Streams** modal.
!!! tip ""
Pressing `↑` while the first stream in the list is selected moves
your cursor to the **Filter streams** input.
* **Switch between tabs**: `⇽` and `⇾` — Allows you to switch between the
**Subscribed** and **All streams** tabs in the **Streams** modal.
* **View stream messages**: `V` — This shortcut narrows your view to the
messages of the selected stream.
* **Subscribe to/unsubscribe from selected stream**: `S` — Allows you to
subscribe to or unsubscribe from the selected stream.
* **Create new stream**: `n` — This shortcut opens the **Create new stream**
panel.