# 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 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**: `r` or `Enter` — Reply to the selected
  message (outlined in blue).

* **New stream message**: `c` — Start a new topic in the current stream.

* **New private message**: `x`

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

* **View drafts**: `d` — Use the arrow keys and `Enter` to restore a draft.
  Press `d` again to close.

* **Next message**: `↓` or `j`

* **Last message**: `End` or `G` — Also marks all messages in
  the current view as read.

* **Next unread topic**: `n`

* **Next unread private message**: `p`

* **Search messages**: `/`

* **Toggle keyboard shortcuts view**: `?`

* **Go to default view**: Press `Ctrl + [` (or `Esc`,
  [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**: `/` or `Ctrl+k`

* **Filter streams**: `q`

* **Search people**: `w`

* **Last message**: `End` or `G` — Also marks all messages in
  the current view as read.

* **First message**: `Home`

* **Previous message**: `↑` or `k`

* **Next message**: `↓` or `j`

* **Scroll up**: `PgUp` or `K`

* **Scroll down**: `PgDn`, `J`, or `Spacebar`

## Narrowing

* **Narrow to next unread topic**: `n`

* **Narrow to next unread private message**: `p`

* **Narrow to stream**: `s`

* **Narrow to topic or PM conversation**: `S`

* **Narrow to all private messages**: `P`

* **Cycle between stream narrows**: `A` (previous) and `D` (next)

* **Narrow to all messages**: `a` — Shows all unmuted messages.

* **Narrow to current compose box recipient**: `Ctrl` + `.`

## Composing messages

* **Reply to message**: `r` or `Enter` — Reply to the selected
  message (outlined in blue). Same behavior as clicking on the message.

* **Reply to message, mentioning author**: `@`

* **Reply only to author**: `R`

* **Quote and reply to message**: `>`

* **New stream message**: `c` — For starting a new topic in a stream.

* **New private message**: `x`

### In the compose box

* **Send message**: `Enter`, `Tab` then `Enter`, and/or `Ctrl` + `Enter`,
  depending on your settings. See
  [enable enter to send](https://zulip.com/help/enable-enter-to-send).

* **Insert new line**: `Enter`, or `Shift` + `Enter`, depending on your
  settings. See
  [enable enter to send](https://zulip.com/help/enable-enter-to-send).

* **Insert italic text**: `*italic*` or `Ctrl + I`
* **Insert bold text**: `**bold**` or `Ctrl + B`
* **Insert link**: `[Zulip website](https://zulip.org)` or `Ctrl + Shift + L`

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

## Message actions

* **Edit last message**: `←` — Open the last editable message in the current
  view (if any).

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

* **Show sender's profile**: `u`

* **View image**: `v`

* **Edit message**: `e`

* **Star message**: `Ctrl + s`

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

* **Collapse/show message**: `-`

* **Toggle topic mute**: `M` — 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 topics

* **View recent topics**: `t`
* **Search recent topics**: `t`
* **Escape from recent topics search**: `Esc` or arrow keys
* **Navigate recent topics**: Use arrow keys or vim keys (`j`, `k`, `l`, `h`).

Use `Enter` to engage with elements.

## Drafts

* **Toggle drafts view**: `d`

### Within the drafts view

* **Edit selected draft**: `Enter`

* **Delete selected draft**: `Backspace`

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

## Menus

* **Toggle shortcuts help**: `?`

* **Toggle gear menu**: `g`

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

* **Toggle emoji reactions menu**: `:`

* **Toggle message actions menu**: `i`

## Streams settings page

* **Scroll through streams**: `↑` and `↓`

    !!! tip ""

        Pressing `↑` from the first stream in the list moves
        you to the **Filter streams** input.

* **Switch between tabs**: `←` and `→` — Switch between the
**Subscribed** and **All streams** tabs.

* **Create new stream**: `n`

### For a selected stream

* **View stream messages**: `V`

* **Toggle subscription**: `S`
