# Keyboard shortcuts

Everything in Zulip can be done with the mouse, but mastering a few keyboard
shortcuts will change your experience of the app. Start with the basics below,
and use the convenient [**keyboard shortcuts reference**](#keyboard-shortcuts-reference)
in the Zulip app to add more to your repertoire as needed.

* [The basics](#the-basics)
* [Navigation](#navigation)
* [Narrowing](#narrowing)
* [Composing messages](#composing-messages)
* [Message actions](#message-actions)
* [Drafts](#drafts)
* [Menus](#menus)
* [Streams settings](#streams-settings-page)

## The basics

* **Reply to message**: <kbd>R</kbd> or <kbd>Enter</kbd> — Reply to the
  selected message (outlined in blue).

* **New stream message**: <kbd>C</kbd> — Start a new topic in the current
  stream.

* **New private message**: <kbd>X</kbd>

* **Cancel compose and save draft**: <kbd>Esc</kbd> or <kbd>Ctrl</kbd> +
  <kbd>[</kbd> — Close the compose box and save the unsent message as a
  draft.

* **View drafts**: <kbd>D</kbd> — Use the arrow keys and <kbd>Enter</kbd>
  to restore a draft. Press <kbd>D</kbd> again to close.

* **Next message**: <kbd class="arrow-key">↓</kbd> or <kbd>J</kbd>

* **Last message**: <kbd>End</kbd> or <kbd>Shift</kbd> + <kbd>G</kbd> —
  Also marks all messages in the current view as read.

* **Next unread topic**: <kbd>N</kbd>

* **Next unread private message**: <kbd>P</kbd>

* **Search messages**: <kbd>/</kbd>

* **Toggle keyboard shortcuts view**: <kbd>?</kbd>

* **Go to default view**: <kbd>Ctrl</kbd> + <kbd>[</kbd> (or
  <kbd>Esc</kbd>, [if enabled][disable-escape])
  until you are in the [default view](/help/configure-default-view).

[disable-escape]: /help/configure-default-view#set-whether-esc-navigates-to-the-default-view
## Navigation

* **Search messages**: <kbd>/</kbd> or <kbd>Ctrl</kbd> + <kbd>K</kbd>

* **Filter streams**: <kbd>Q</kbd>

* **Search people**: <kbd>W</kbd>

* **Last message**: <kbd>End</kbd> or <kbd>Shift</kbd> + <kbd>G</kbd> —
  Also marks all messages in the current view as read.

* **First message**: <kbd>Home</kbd>

* **Previous message**: <kbd class="arrow-key">↑</kbd> or <kbd>K</kbd>

* **Next message**: <kbd class="arrow-key">↓</kbd> or <kbd>J</kbd>

* **Scroll up**: <kbd>PgUp</kbd> or <kbd>Shift</kbd> + <kbd>K</kbd>

* **Scroll down**: <kbd>PgDn</kbd>, <kbd>Shift</kbd> + <kbd>J</kbd>, or
  <kbd>Spacebar</kbd>

* **Go back through viewing history**: <kbd>Alt</kbd> +
  <kbd class="arrow-key">←</kbd>

* **Go forward through viewing history**: <kbd>Alt</kbd> +
  <kbd class="arrow-key">→</kbd>

## Narrowing

* **Narrow to next unread topic**: <kbd>N</kbd>

* **Narrow to next unread private message**: <kbd>P</kbd>

* **Narrow to stream**: <kbd>S</kbd>

* **Narrow to topic or PM conversation**: <kbd>Shift</kbd> + <kbd>S</kbd>

* **Narrow to all private messages**: <kbd>Shift</kbd> + <kbd>P</kbd>

* **Cycle between stream narrows**: <kbd>Shift</kbd> + <kbd>A</kbd>
  (previous) and <kbd>Shift</kbd> + <kbd>D</kbd> (next)

* **Narrow to all messages**: <kbd>A</kbd> — Shows all unmuted messages.

* **Narrow to current compose box recipient**: <kbd>Ctrl</kbd> + <kbd>.</kbd>

## Composing messages

* **Reply to message**: <kbd>R</kbd> or <kbd>Enter</kbd> — Reply to the
  selected message (outlined in blue). Same behavior as clicking on the
  message.

* **Reply to message, mentioning author**: <kbd>@</kbd>

* **Reply only to author**: <kbd>Shift</kbd> + <kbd>R</kbd>

* **Quote and reply to message**: <kbd>></kbd>

* **New stream message**: <kbd>C</kbd> — For starting a new topic in a
  stream.

* **New private message**: <kbd>X</kbd>

### In the compose box

* **Send message**: <kbd>Enter</kbd>, <kbd>Tab</kbd> then <kbd>Enter</kbd>,
  and/or <kbd>Ctrl</kbd> + <kbd>Enter</kbd>, depending on your settings. See
  [enable enter to send](/help/mastering-the-compose-box#toggle-between-ctrl-enter-and-enter-to-send-a-message).

* **Insert new line**: <kbd>Enter</kbd>, or <kbd>Shift</kbd> + <kbd>Enter</kbd>,
  depending on your settings. See
  [enable enter to send](/help/mastering-the-compose-box#toggle-between-ctrl-enter-and-enter-to-send-a-message).

* **Insert italic text**: `*italic*` or <kbd>Ctrl</kbd> + <kbd>I</kbd>

* **Insert bold text**: `**bold**` or <kbd>Ctrl</kbd> + <kbd>B</kbd>

* **Insert link**: `[Zulip website](https://zulip.org)` or <kbd>Ctrl</kbd> +
  <kbd>Shift</kbd> + <kbd>L</kbd>

* **Cancel compose and save draft**: <kbd>Esc</kbd> or <kbd>Ctrl</kbd> +
  <kbd>[</kbd> — Close the compose box and save the unsent message as a draft.

## Message actions

* **Edit last message**: <kbd class="arrow-key">←</kbd> — Open the last
  editable message in the current view (if any).

### For a selected message (outlined in blue)

* **Show message sender's user card**: <kbd>U</kbd>

* **View image**: <kbd>V</kbd>

* **Edit message or view message source**: <kbd>E</kbd>

* **Move message and (optionally) other messages in the same topic**: <kbd>M</kbd>

* **Star message**: <kbd>Ctrl</kbd> + <kbd>S</kbd>

* **React with <img alt=":thumbs_up:" class="emoji"
  src="/static/generated/emoji/images/emoji/unicode/1f44d.png"
  title="thumbs up"/>**: <kbd>+</kbd>

* **Mark as unread from selected message**: <kbd>Shift</kbd> + <kbd>U</kbd>

* **Collapse/show message**: <kbd>-</kbd>

* **Toggle topic mute**: <kbd>Shift</kbd> + <kbd>M</kbd> — Muted topics
  don't show up in any views (including All messages), and don't contribute
  to unread counts. Read more about [muting topics](/help/mute-a-topic).

## Recent conversations

* **View recent conversations**: <kbd>T</kbd>

* **Search recent conversations**: <kbd>T</kbd>

* **Escape from recent conversations search**: <kbd>Esc</kbd> or arrow keys

* **Navigate recent conversations**: Use arrow keys or vim keys
  (<kbd>J</kbd>, <kbd>K</kbd>, <kbd>L</kbd>, <kbd>H</kbd>).

Use <kbd>Enter</kbd> to engage with elements.

## Drafts

* **Toggle drafts view**: <kbd>D</kbd>

### Within the drafts view

* **Edit selected draft**: <kbd>Enter</kbd>

* **Delete selected draft**: <kbd>Backspace</kbd>

Keyboard navigation (e.g. arrow keys) works as expected.

## Menus

* **Toggle shortcuts help**: <kbd>?</kbd>

* **Toggle gear menu**: <kbd>G</kbd>

### For a selected message (outlined in blue)

* **Toggle emoji reactions menu**: <kbd>:</kbd>

* **Toggle message actions menu**: <kbd>I</kbd>

## Streams settings page

* **Scroll through streams**: <kbd class="arrow-key">↑</kbd> and
  <kbd class="arrow-key">↓</kbd>

    !!! tip ""

        Pressing <kbd class="arrow-key">↑</kbd> from the first stream
        in the list moves you to the **Filter streams** input.

* **Switch between tabs**: <kbd class="arrow-key">←</kbd> and
  <kbd class="arrow-key">→</kbd> — Switch between the **Subscribed**
  and **All streams** tabs.

* **Create new stream**: <kbd>N</kbd>

### For a selected stream

* **View stream messages**: <kbd>Shift</kbd> + <kbd>V</kbd>

* **Toggle subscription**: <kbd>Shift</kbd> + <kbd>S</kbd>


## Keyboard shortcuts reference

A summary of the keyboard shortcuts above is available in the Zulip app.

{start_tabs}

1. Click the **keyboard** (<i class="fa fa-keyboard-o"></i>) icon at the bottom
   of the app, just below the right sidebar.

{end_tabs}

## Related articles

* [Reading strategies](/help/reading-strategies)
