Keyshots is an Obsidian plugin that adds classic hotkey/shortcuts commands from popular IDEs like Visual Studio Code or JetBrains Family.
Keyshots adds actions like move line up or down...
...add caret cursor up or down...
...insert lines above or below...
...duplicate line up or down...
...duplicate text or selection...
...toggle readable line length inside editor...
...toggle line numbers inside editor...
...encode or decode URI text...
...transform selected texts to lowercase, uppercase or titlecase...
...join selected lines to one line...
...split selections on new line and trim selection...
...sort selected lines with alphanumeric comparison...
...transform selections to or from snakecase...
...and much more commands to explore! (And more are comming soon)
Here is a full list of all Keyshots commands with mappings of hotkeys that are available. If any of hotkey for IDE action is missing, Keyshots mappings hotkey is used instead (This behavior can be changed in settings).
| Hotkeys | Keyshots Default Mappings | Visual Studio Code | JetBrains IDEs | Microsoft Visual Studio |
|---|---|---|---|---|
Duplicate line up (Visual Studio Code) |
Shift + Alt + โ | Shift + Alt + โ | ||
Duplicate line down (Visual Studio Code) |
Shift + Alt + โ | Shift + Alt + โ | ||
Duplicate selection or line (JetBrains IDEs) |
Ctrl + Alt + D | Ctrl + D | Ctrl + D | |
Insert line above |
Ctrl + Shift + Enter | Ctrl + Shift + Enter | Ctrl + Alt + Enter | Ctrl + Enter |
Insert line below |
Shift + Enter | Ctrl + Enter | Shift + Enter | Shift + Enter |
Join selected lines |
Ctrl + Shift + J | Ctrl + J | Ctrl + Shift + J | |
Move selected lines down |
Alt + โ | Alt + โ | Shift + Alt + โ | Alt + โ |
Move selected lines up |
Alt + โ | Alt + โ | Shift + Alt + โ | Alt + โ |
Reverse selected lines |
Alt + R | |||
Shuffle selected lines |
Ctrl + Shift + Alt + S | |||
Sort selected lines |
Ctrl + Shift + S | |||
Indent |
Alt + ] | |||
Unindent |
Alt + [ | |||
Better insert callout |
Shift + Alt + C | |||
Insert code block |
Ctrl + Shift + ` | |||
Insert ordinal numbering |
Shift + Alt + N | |||
Insert Table |
Shift + Alt + T | |||
Change Keyshots preset |
Ctrl + Shift + P | |||
Open Keyshots settings tab |
Ctrl + Alt + , | |||
Switch Keyshots case sensitivity |
Ctrl + Alt + I | |||
Switch 'inline title' setting |
Ctrl + Alt + T | |||
Switch 'line numbers' setting |
Ctrl + Alt + N | |||
Switch 'readable line length' setting |
Ctrl + Alt + R | |||
Reopen current note |
Alt + Q | |||
Open developer tools |
F12 | |||
Toggle focus mode |
Ctrl + Alt + F | |||
Duplicate tab |
Ctrl + Alt + D | |||
Close all foldable callouts |
Shift + Alt + L | |||
Open all foldable callouts |
Shift + Alt + O | |||
Toggle all callouts fold state |
Shift + Alt + K | |||
Toggle case (JetBrains) |
Ctrl + Shift + U | Ctrl + Shift + U | ||
Transform selections to lowercase |
Alt + U | Ctrl + Shift + U | ||
Replace by Regular Expression (Regex) |
Ctrl + Alt + H | |||
Toggle selections kebabcase |
Alt + - | |||
Toggle keyboard input (<kbd>) |
Ctrl + Shift + K | |||
Toggle selections snakecase |
Shift + Alt + - | |||
Toggle underline |
Alt + N | |||
Toggle selections URI encoded/decoded string |
Ctrl + Alt + U | |||
Transform selections to titlecase (capitalize) |
Alt + C | |||
Trim selections |
Alt + T | |||
Add caret cursor down |
Ctrl + Alt + โ | Ctrl + Alt + โ | Shift + Alt + โ | |
Add caret cursor up |
Ctrl + Alt + โ | Ctrl + Alt + โ | Shift + Alt + โ | |
Select all word instances |
Ctrl + Shift + L | Ctrl + Shift + L | Ctrl + Shift + Alt + J | Shift + Alt + ; |
Select multiple word instances |
Ctrl + D | Ctrl + D | Alt + J | Shift + Alt + . |
Search by Regular Expression (Regex) |
Ctrl + Alt + S | |||
Split selections by lines |
Ctrl + Alt + L | |||
Expand line selections |
Alt + E | Ctrl + L | Ctrl + W | Shift + Alt + = |
Split selections on new line |
Alt + S | |||
Go to next fold |
Ctrl + Alt + ] | |||
Go to previous fold |
Ctrl + Alt + [ | |||
Go to parent fold |
Ctrl + Alt + P |
Double key commands are feature used in JetBrains IDEs, that are doing certain actions after specific key is pressed twice.
Now Keyshots has two double-key commands:
- Pressing and holding last key and then press โ or โ will
add caret cursor just like
Add caret cursor uporAdd caret cursor downdo - If you have internal plugin
Quick Switcherenabled, then this shortcut will open quick switcher window just like Ctrl + O does
If you do not like them, then you can disable them in settings.
Adds ability to choose default hotkeys mappings by IDEs presets. You can also configure behavior of some commands.
You can choose from these IDEs presets:
- Clear (everything blank; set in default when keyshots are installed)
- Visual Studio Code
- JetBrains IDEs Family (IntelliJ IDEA, PyCharm, WebStorm, ... )
- Microsoft Visual Studio
- Keyshots default hotkeys mappings
You can change it also via modal window inside obsidian that you can open with command "Change Keyshots preset" with Ctrl + Shift + P shortcut.
Some IDE commands have hotkey, that is already set to another Obsidian action and that results into conflict.
Here is list of all possible conflicts:
| Hotkey | Visual Studio Code | JetBrains IDEs | Microsoft Visual Studio | Obsidian Action |
|---|---|---|---|---|
| Ctrl + L | Expand line selections | Toggle checkbox status | ||
| Ctrl + Enter | Insert line below | Insert line above | Open link under cursor in new tab | |
| Ctrl + W | Expand line selections | Close current tab | ||
| Ctrl + Alt + Enter | Insert line above | Open link under cursor to the right |
For default Keyshots mappings I will take care of all conflicts with Obsidian hotkeys. However, mind that I can take care of obsidian hotkeys only meaning that plugins hotkeys are irrelevant and impossible to handle due to unlimited plugin amount.
Also, obsidian team recommends to don't set default hotkeys for commands and that is why Keyshots installs with "clear" preset!












