# 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 :thumbs_up:**: ` + ` — Allows the user to react to the selected message (outlined in blue) with the :thumbs_up: (`: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.