---
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.
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-next 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-next 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-next 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-next 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