--- title: Keyboard shortcuts intro: 'Nearly every page on {% data variables.product.prodname_dotcom %} has a keyboard shortcut to perform actions faster.' redirect_from: - /articles/using-keyboard-shortcuts - /categories/75/articles - /categories/keyboard-shortcuts - /articles/keyboard-shortcuts - /github/getting-started-with-github/keyboard-shortcuts - /github/getting-started-with-github/using-github/keyboard-shortcuts versions: fpt: '*' ghes: '*' ghae: '*' ghec: '*' --- ## About keyboard shortcuts Typing ? on {% data variables.product.prodname_dotcom %} brings up a dialog box that lists the keyboard shortcuts available for that page. You can use these keyboard shortcuts to perform actions across the site without using your mouse to navigate. {% if keyboard-shortcut-accessibility-setting %} You can disable character key shortcuts, while still allowing shortcuts that use modifier keys, in your accessibility settings. For more information, see "[Managing accessibility settings](/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-accessibility-settings)."{% endif %} Below is a list of some of the available keyboard shortcuts. {% if command-palette %} The {% data variables.product.prodname_command_palette %} also gives you quick access to a wide range of actions, without the need to remember keyboard shortcuts. For more information, see "[{% data variables.product.prodname_command_palette %}](/get-started/using-github/github-command-palette)."{% endif %} ## Site wide shortcuts | Keyboard shortcut | Description |-----------|------------ |s or / | Focus the search bar. For more information, see "[About searching on {% data variables.product.company_short %}](/search-github/getting-started-with-searching-on-github/about-searching-on-github)." |g n | Go to your notifications. For more information, see {% ifversion fpt or ghes or ghae or ghec %}"[About notifications](/github/managing-subscriptions-and-notifications-on-github/about-notifications){% else %}"[About notifications](/github/receiving-notifications-about-activity-on-github/about-notifications){% endif %}." |esc | When focused on a user, issue, or pull request hovercard, closes the hovercard and refocuses on the element the hovercard is in {% if command-palette %}|controlk or commandk | Opens the {% data variables.product.prodname_command_palette %}. If you are editing Markdown text, open the command palette with Ctlaltk or optionk. For more information, see "[{% data variables.product.prodname_command_palette %}](/get-started/using-github/github-command-palette)."{% endif %} ## Repositories | Keyboard shortcut | Description |-----------|------------ |g c | Go to the **Code** tab |g i | Go to the **Issues** tab. For more information, see "[About issues](/articles/about-issues)." |g p | Go to the **Pull requests** tab. For more information, see "[About pull requests](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)."{% ifversion fpt or ghes or ghec %} |g a | Go to the **Actions** tab. For more information, see "[About Actions](/actions/getting-started-with-github-actions/about-github-actions)."{% endif %} |g b | Go to the **Projects** tab. For more information, see "[About project boards](/articles/about-project-boards)." |g w | Go to the **Wiki** tab. For more information, see "[About wikis](/communities/documenting-your-project-with-wikis/about-wikis)."{% ifversion fpt or ghec %} |g g | Go to the **Discussions** tab. For more information, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)."{% endif %} ## Source code editing | Keyboard shortcut | Description |-----------|------------{% ifversion fpt or ghec %} |.| Opens a repository or pull request in the web-based editor. For more information, see "[Web-based editor](/codespaces/developing-in-codespaces/web-based-editor)."{% endif %} | control b or command b | Inserts Markdown formatting for bolding text | control i or command i | Inserts Markdown formatting for italicizing text | control k or command k | Inserts Markdown formatting for creating a link{% ifversion fpt or ghec or ghae or ghes > 3.3 %} | control shift 7 or command shift 7 | Inserts Markdown formatting for an ordered list | control shift 8 or command shift 8 | Inserts Markdown formatting for an unordered list | control shift . or command shift. | Inserts Markdown formatting for a quote{% endif %} |e | Open source code file in the **Edit file** tab |control f or command f | Start searching in file editor |control g or command g | Find next |control shift g or command shift g | Find previous |control shift f or command option f | Replace |control shift r or command shift option f | Replace all |alt g | Jump to line |control z or command z | Undo |control y or command y | Redo |command shift p | Toggles between the **Edit file** and **Preview changes** tabs |control s or command s | Write a commit message For more keyboard shortcuts, see the [CodeMirror documentation](https://codemirror.net/doc/manual.html#commands). ## Source code browsing | Keyboard shortcut | Description |-----------|------------ |t | Activates the file finder |l | Jump to a line in your code |w | Switch to a new branch or tag |y | Expand a URL to its canonical form. For more information, see "[Getting permanent links to files](/articles/getting-permanent-links-to-files)." |i | Show or hide comments on diffs. For more information, see "[Commenting on the diff of a pull request](/articles/commenting-on-the-diff-of-a-pull-request)." |a | Show or hide annotations on diffs |b | Open blame view. For more information, see "[Tracing changes in a file](/articles/tracing-changes-in-a-file)." ## Comments | Keyboard shortcut | Description |-----------|------------ | control b or command b | Inserts Markdown formatting for bolding text | control i or command i | Inserts Markdown formatting for italicizing text{% ifversion fpt or ghae or ghes > 3.1 or ghec %} | control e or command e | Inserts Markdown formatting for code or a command within a line{% endif %} | control k or command k | Inserts Markdown formatting for creating a link | control shift p or command shift p| Toggles between the **Write** and **Preview** comment tabs{% ifversion fpt or ghae or ghes > 3.2 or ghec %} | control shift 7 or command shift 7 | Inserts Markdown formatting for an ordered list | control shift 8 or command shift 8 | Inserts Markdown formatting for an unordered list{% endif %} | control enter | Submits a comment | control . and then control [saved reply number] | Opens saved replies menu and then autofills comment field with a saved reply. For more information, see "[About saved replies](/articles/about-saved-replies)."{% ifversion fpt or ghae or ghes > 3.2 or ghec %} | control shift . or command shift. | Inserts Markdown formatting for a quote{% endif %}{% ifversion fpt or ghec %} |control g or command g | Insert a suggestion. For more information, see "[Reviewing proposed changes in a pull request](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request)." |{% endif %} | r | Quote the selected text in your reply. For more information, see "[Basic writing and formatting syntax](/articles/basic-writing-and-formatting-syntax#quoting-text)." | ## Issue and pull request lists | Keyboard shortcut | Description |-----------|------------ |c | Create an issue | control / or command / | Focus your cursor on the issues or pull requests search bar. For more information, see "[Filtering and searching issues and pull requests](/issues/tracking-your-work-with-issues/filtering-and-searching-issues-and-pull-requests)."|| |u | Filter by author |l | Filter by or edit labels. For more information, see "[Filtering issues and pull requests by labels](/articles/filtering-issues-and-pull-requests-by-labels)." | alt and click | While filtering by labels, exclude labels. For more information, see "[Filtering issues and pull requests by labels](/articles/filtering-issues-and-pull-requests-by-labels)." |m | Filter by or edit milestones. For more information, see "[Filtering issues and pull requests by milestone](/articles/filtering-issues-and-pull-requests-by-milestone)." |a | Filter by or edit assignee. For more information, see "[Filtering issues and pull requests by assignees](/articles/filtering-issues-and-pull-requests-by-assignees)." |o or enter | Open issue ## Issues and pull requests | Keyboard shortcut | Description |-----------|------------ |q | Request a reviewer. For more information, see "[Requesting a pull request review](/articles/requesting-a-pull-request-review/)." |m | Set a milestone. For more information, see "[Associating milestones with issues and pull requests](/articles/associating-milestones-with-issues-and-pull-requests/)." |l | Apply a label. For more information, see "[Applying labels to issues and pull requests](/articles/applying-labels-to-issues-and-pull-requests/)." |a | Set an assignee. For more information, see "[Assigning issues and pull requests to other {% data variables.product.company_short %} users](/articles/assigning-issues-and-pull-requests-to-other-github-users/)." |cmd + shift + p or control + shift + p | Toggles between the **Write** and **Preview** tabs{% ifversion fpt or ghec %} |alt and click | When creating an issue from a task list, open the new issue form in the current tab by holding alt and clicking the {% octicon "issue-opened" aria-label="The issue opened icon" %} in the upper-right corner of the task. For more information, see "[About task lists](/issues/tracking-your-work-with-issues/creating-issues/about-task-lists)." |shift and click | When creating an issue from a task list, open the new issue form in a new tab by holding shift and clicking the {% octicon "issue-opened" aria-label="The issue opened icon" %} in the upper-right corner of the task. For more information, see "[About task lists](/issues/tracking-your-work-with-issues/creating-issues/about-task-lists)." |command or control + shift and click | When creating an issue from a task list, open the new issue form in the new window by holding command or control + shift and clicking the {% octicon "issue-opened" aria-label="The issue opened icon" %} in the upper-right corner of the task. For more information, see "[About task lists](/issues/tracking-your-work-with-issues/creating-issues/about-task-lists)."{% endif %} ## Changes in pull requests | Keyboard shortcut | Description |-----------|------------ |c | Open the list of commits in the pull request |t | Open the list of changed files in the pull request |j | Move selection down in the list |k | Move selection up in the list | cmd + shift + enter | Add a single comment on a pull request diff | | alt and click | Toggle between collapsing and expanding all outdated review comments in a pull request by holding down `alt` and clicking **Show outdated** or **Hide outdated**.|{% ifversion fpt or ghes or ghae or ghec %} | Click, then shift and click | Comment on multiple lines of a pull request by clicking a line number, holding shift, then clicking another line number. For more information, see "[Commenting on a pull request](/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)."|{% endif %} ## Project boards ### Moving a column | Keyboard shortcut | Description |-----------|------------ |enter or space | Start moving the focused column |escape | Cancel the move in progress |enter | Complete the move in progress | or h | Move column to the left |command + ← or command + h or control + ← or control + h | Move column to the leftmost position | or l | Move column to the right |command + → or command + l or control + → or control + l | Move column to the rightmost position ### Moving a card | Keyboard shortcut | Description |-----------|------------ |enter or space | Start moving the focused card |escape | Cancel the move in progress |enter | Complete the move in progress | or j | Move card down |command + ↓ or command + j or control + ↓ or control + j | Move card to the bottom of the column | or k | Move card up |command + ↑ or command + k or control + ↑ or control + k | Move card to the top of the column | or h | Move card to the bottom of the column on the left |shift + ← or shift + h | Move card to the top of the column on the left |command + ← or command + h or control + ← or control + h | Move card to the bottom of the leftmost column |command + shift + ← or command + shift + h or control + shift + ← or control + shift + h | Move card to the top of the leftmost column | | Move card to the bottom of the column on the right |shift + → or shift + l | Move card to the top of the column on the right |command + → or command + l or control + → or control + l | Move card to the bottom of the rightmost column |command + shift + → or command + shift + l or control + shift + → or control + shift + l | Move card to the bottom of the rightmost column ### Previewing a card | Keyboard shortcut | Description |-----------|------------ |esc | Close the card preview pane {% ifversion fpt or ghec %} ## {% data variables.product.prodname_actions %} | Keyboard shortcut | Description |-----------|------------ |command + space or control + space | In the workflow editor, get suggestions for your workflow file. |g f | Go to the workflow file |shift + t or T | Toggle timestamps in logs |shift + f or F | Toggle full-screen logs |esc | Exit full-screen logs {% endif %} ## Notifications {% ifversion fpt or ghes or ghae or ghec %} | Keyboard shortcut | Description |-----------|------------ |e | Mark as done | shift + u| Mark as unread | shift + i| Mark as read | shift + m | Unsubscribe {% else %} | Keyboard shortcut | Description |-----------|------------ |e or I or y | Mark as read |shift + m | Mute thread {% endif %} ## Network graph | Keyboard shortcut | Description |-----------|------------ | or h | Scroll left | or l | Scroll right | or k | Scroll up | or j | Scroll down |shift + ← or shift + h | Scroll all the way left |shift + → or shift + l | Scroll all the way right |shift + ↑ or shift + k | Scroll all the way up |shift + ↓ or shift + j | Scroll all the way down