Complete CLion keyboard shortcuts and commands reference — 66 shortcuts across 8 categories. Quick reference cheat sheet for Windows & Mac.
CLion is the JetBrains IDE for C and C++, and its keymap is the shared JetBrains default — if the IntelliJ or PyCharm pages here are familiar, the keys are the same. This page is written for what those keys mean in a CMake project: where go-to-definition lands with headers, what run means with multiple targets, how the debugger fits. The table is the Windows/Linux keymap; macOS uses Cmd.
| Shortcut | Action | What it does |
|---|---|---|
| Ctrl + Space | Basic code completion | Mac: Ctrl + Space. |
| Ctrl + Shift + Space | Smart code completion | Mac: Ctrl + Shift + Space. Filters completions by the expected type. |
| Alt + Enter | Show intention actions and quick-fixes | Mac: Option + Return. |
| Alt + Insert | Generate code | Mac: Cmd + N. Constructors, getters, operators and more. |
| Ctrl + Alt + T | Surround with if, while, #ifdef and other constructs | Mac: Option + Cmd + T. |
| Ctrl + Shift + Enter | Complete statement | Mac: Cmd + Shift + Return. Adds missing braces or semicolons and moves the caret to the next line. |
| Ctrl + O | Override functions | Mac: Ctrl + O. |
| Ctrl + I | Implement functions | Mac: Ctrl + I. |
| Ctrl + / | Comment or uncomment with a line comment | Mac: Cmd + /. |
| Ctrl + Shift + / | Comment or uncomment with a block comment | Mac: Cmd + Option + /. |
| Ctrl + P | Show parameter info | Mac: Cmd + P. |
| Ctrl + Alt + L | Reformat code | Mac: Cmd + Option + L. |
| Ctrl + Q | Quick documentation lookup | Mac: Ctrl + J or F1. |
| Ctrl + Alt + I | Auto-indent lines | Mac: Ctrl + Option + I. |
| Ctrl + D | Duplicate current line | Mac: Cmd + D. |
| Ctrl + Enter | Smart line split | Mac: Cmd + Return. |
| Shift + Enter | Start new line | Mac: Shift + Return. |
| Ctrl + F4 | Close active editor tab | Mac: Cmd + W. |
| Ctrl + W | Increase syntax-aware selection | Mac: Option + Up. |
| Ctrl + Shift + W | Decrease syntax-aware selection | Mac: Option + Down. |
| Alt + Shift + Click | Place the caret in multiple locations | Mac: Option + Shift + Click. |
| Esc | Restore single caret mode | Same key on Mac. |
| Shortcut | Action | What it does |
|---|---|---|
| Alt + F7 | Find usages | Mac: Option + F7. |
| Ctrl + F7 | Find usages in file | Mac: Cmd + F7. |
| Ctrl + Shift + F7 | Highlight usages in file | Mac: Cmd + Shift + F7. |
| Ctrl + Alt + F7 | Show usages | Mac: Cmd + Option + F7. Opens usages in a popup instead of the tool window. |
| Shortcut | Action | What it does |
|---|---|---|
| Ctrl + Alt + Shift + T | Refactor this | Mac: Ctrl + T. Lists every refactoring available for the selection. |
| Shift + F6 | Rename | Mac: Shift + F6. |
| Ctrl + F6 | Change signature | Mac: Cmd + F6. |
| Ctrl + Alt + N | Inline | Mac: Option + Cmd + N. |
| Ctrl + Alt + M | Extract function | Mac: Option + Cmd + M. |
| Alt + Delete | Safe delete | Mac: Cmd + Delete. |
| Ctrl + Alt + V | Introduce variable | Mac: Option + Cmd + V. |
| Ctrl + Alt + P | Introduce parameter | Mac: Option + Cmd + P. |
| Shortcut | Action | What it does |
|---|---|---|
| Ctrl + Shift + A | Find action | Mac: Shift + Cmd + A. Finds any command by name when you do not remember its shortcut. |
| Double Shift | Search everywhere | Mac: Double Shift. |
| Ctrl + F | Find | Mac: Cmd + F. |
| Ctrl + R | Replace | Mac: Cmd + R. |
| Ctrl + Shift + F | Find in path | Mac: Cmd + Shift + F. |
| Alt + J | Select next occurrence | Mac: Ctrl + G. |
| Shortcut | Action | What it does |
|---|---|---|
| Ctrl + N | Go to class | Mac: Cmd + O. |
| Ctrl + Shift + N | Go to file | Mac: Cmd + Shift + O. |
| Ctrl + Alt + Shift + N | Go to symbol | Mac: Cmd + Option + O. |
| Ctrl + G | Go to line | Mac: Cmd + L. |
| Ctrl + Shift + Backspace | Navigate to last edit location | Mac: Cmd + Shift + Delete. |
| Alt + F1 | Select current file or symbol in any view | Mac: Option + F1. |
| Ctrl + B | Go to declaration | Mac: Cmd + B. Ctrl + Click (Cmd + Click) does the same. |
| Ctrl + Alt + B | Go to definition | Mac: Cmd + Option + B. |
| Ctrl + F12 | File structure popup | Mac: Cmd + F12. Also used to navigate by file structure. |
| Ctrl + E | Recent files popup | Mac: Cmd + E. |
| Ctrl + H | Type hierarchy | Mac: Ctrl + H. |
| Ctrl + Alt + H | Call hierarchy | Mac: Ctrl + Option + H. |
| Shortcut | Action | What it does |
|---|---|---|
| Shift + F10 | Run | Mac: Ctrl + R. |
| Shift + F9 | Debug | Mac: Ctrl + D. |
| Alt + Shift + F10 | Select configuration and run | Mac: Ctrl + Option + R. |
| Alt + Shift + F9 | Select configuration and debug | Mac: Ctrl + Option + D. |
| F8 | Step over | Same key on Mac. |
| F7 | Step into | Same key on Mac. |
| Alt + F8 | Evaluate expression | Mac: Option + F8. |
| Ctrl + F8 | Toggle breakpoint | Mac: Cmd + F8. |
| Shortcut | Action | What it does |
|---|---|---|
| Ctrl + K | Commit project to VCS | Mac: Cmd + K. |
| Ctrl + T | Update project from VCS | Mac: Cmd + T. |
| Ctrl + Shift + K | Push commits | Mac: Cmd + Shift + K. |
| Alt + ` | VCS quick popup | Mac: Ctrl + V. |
| Shortcut | Action | What it does |
|---|---|---|
| Ctrl + Alt + J | Surround with live template | Mac: Cmd + Option + J. |
| Ctrl + J | Insert live template | Mac: Cmd + J. |
The most essential CLion shortcuts are: Double Shift (Search everywhere), Ctrl + Alt + Shift + T (Refactor this), Alt + Enter (Quick fix), Shift + F10 (Run).
The CLion shortcut for search everywhere is Shift + Shift. Search everything.
Print the CLion cheat sheet and keep it next to your keyboard for the first week, then switch to active recall: open Shortcut Speedrun and practice CLion shortcuts against the clock until they're automatic.
Yes — use My Stack to combine CLion shortcuts with any other platform on this site into one printable reference, which is useful if your daily workflow spans several tools.
Ctrl + B on a symbol goes to its declaration in the header, and pressing it again jumps to the definition in the source file — the header/source round trip that C++ needs constantly. Any file, including generated ones in the build directory, opens through Ctrl + Shift + N, and Ctrl + E lists recent files, which in C++ is often the fastest way back to the .cpp you were editing. Alt + F7 finds usages across all translation units, Ctrl + F12 shows the structure of the current file, and Shift + Shift searches everything including CMake targets and actions.
Alt + Enter offers intentions: add an include, generate a definition for a declared method, convert to a range-based for, or apply a clang-tidy fix. Ctrl + Alt + L reformats according to the project's .clang-format when one exists. Ctrl + / comments the line, Ctrl + D duplicates it, and F2 jumps to the next error or warning, which with clangd-based analysis usually means the next compile error before you compile. Shift + F6 renames across the project, including in header and source.
Shift + F10 runs the selected configuration — a specific executable target or a test — Alt + Shift + F10 lets you pick one first, and Shift + F9 debugs the selected configuration with GDB or LLDB. Because a CMake project has many targets, the run configuration selector in the toolbar decides which binary these keys build. Ctrl + Shift + A finds any action by name, such as Reload CMake Project, which is needed after editing CMakeLists.txt if auto-reload is off.
Open your assistant with this page preloaded as the source — great for follow-up questions like "which of these work in other apps?"