# 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**: `w` — 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**: `q` — 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`) — Allows the 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` — Narrows the view to show all messages in the stream of the selected message (outlined in blue). * **Narrow by topic**: `S` — Narrows the view to show all messages with the topic of the selected message (outlined in blue). * **Narrow to all private messages**: `P` — Narrows the view to show all of the user's private messages. * **Narrow to next unread topic**: `n` — 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**: `⇽` — Opens the last editable message that the user sent in the current view (if any) in the compose box. * **Show message sender's profile**: `u` — Shows a popover with the profile of the user that sent the selected message. * **Show images in thread**: `v` — Opens any images or videos (if any) embedded in a message or previous messages within the thread using the [lightbox viewer](/help/view-an-image-at-full-size). * **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](/help/star-a-message) 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. * **Collapse/show selected message**: `-` — Allows the user to [collapse](/help/collapse-a-message) and uncollapse the contents of the selected message (outlined in blue). * **Toggle topic mute**: `M` — Allows the user to mute and unmute the topic of the selected message (outlined in blue). ## Menus * **Toggle the gear menu**: `g` — Opens the gear menu located in the upper-right corner of the window. * **Open message menu**: `i` — Opens the message menu with the available message actions of the selected message (outlined in blue). * **Open reactions menu**: `:` — 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` — Opens the **Drafts** modal with a list of all of the user's drafts. * **Select previous draft**: `↑` — Selects the previous draft in the **Drafts** modal. * **Select next draft**: `↓` — 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` + `↓`) — Allows the user to scroll down through the **Drafts** modal. * **Select first draft**: `Home` (`Fn` + `⇽`) — Allows the user to scroll to the first draft in the **Drafts** modal. * **Select last draft**: `End` (`Fn` + `⇾`) or `G` — Allows the 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` — 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` — Opens the **Create new stream** panel.