Keyshots

approved

by KrazyManJ

Add classic hotkey/shortcuts commands from popular IDEs like Visual Studio Code or JetBrains Family.

ā˜… 132 stars↓ 15,158 downloadsUpdated 1mo agoMIT
View on GitHub

Obsidian Plugin Downloads Release date GitHub Release Date License Build Status

Keyshots is an Obsidian plugin that adds classic hotkey/shortcuts commands from popular IDEs like Visual Studio Code or JetBrains Family.

🌠 Visual examples

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)

āŒØļø List of Keyshots commands with IDE Mappings

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

HotkeysKeyshots Default MappingsVisual Studio CodeJetBrains IDEsMicrosoft 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 + DCtrl + DCtrl + D
Insert line aboveCtrl + Shift + EnterCtrl + Shift + EnterCtrl + Alt + EnterCtrl + Enter
Insert line belowShift + EnterCtrl + EnterShift + EnterShift + Enter
Join selected linesCtrl + Shift + JCtrl + JCtrl + Shift + J
Move selected lines downAlt + ↓Alt + ↓Shift + Alt + ↓Alt + ↓
Move selected lines upAlt + ↑Alt + ↑Shift + Alt + ↑Alt + ↑
Reverse selected linesAlt + R
Shuffle selected linesCtrl + Shift + Alt + S
Sort selected linesCtrl + Shift + S
IndentAlt + ]
UnindentAlt + [
Better insert calloutShift + Alt + C
Insert code blockCtrl + Shift + `
Insert ordinal numberingShift + Alt + N
Insert TableShift + Alt + T
Change Keyshots presetCtrl + Shift + P
Open Keyshots settings tabCtrl + Alt + ,
Switch Keyshots case sensitivityCtrl + Alt + I
Switch 'inline title' settingCtrl + Alt + T
Switch 'line numbers' settingCtrl + Alt + N
Switch 'readable line length' settingCtrl + Alt + R
Reopen current noteAlt + Q
Open developer toolsF12
Toggle focus modeCtrl + Alt + F
Duplicate tabCtrl + Alt + D
Close all foldable calloutsShift + Alt + L
Open all foldable calloutsShift + Alt + O
Toggle all callouts fold stateShift + Alt + K
Toggle case (JetBrains)Ctrl + Shift + UCtrl + Shift + U
Transform selections to lowercaseAlt + UCtrl + Shift + U
Replace by Regular Expression (Regex)Ctrl + Alt + H
Toggle selections kebabcaseAlt + -
Toggle keyboard input (<kbd>)Ctrl + Shift + K
Toggle selections snakecaseShift + Alt + -
Toggle underlineAlt + N
Toggle selections URI encoded/decoded stringCtrl + Alt + U
Transform selections to titlecase (capitalize)Alt + C
Trim selectionsAlt + T
Add caret cursor downCtrl + Alt + ↓Ctrl + Alt + ↓Shift + Alt + ↓
Add caret cursor upCtrl + Alt + ↑Ctrl + Alt + ↑Shift + Alt + ↑
Select all word instancesCtrl + Shift + LCtrl + Shift + LCtrl + Shift + Alt + JShift + Alt + ;
Select multiple word instancesCtrl + DCtrl + DAlt + JShift + Alt + .
Search by Regular Expression (Regex)Ctrl + Alt + S
Split selections by linesCtrl + Alt + L
Expand line selectionsAlt + ECtrl + LCtrl + WShift + Alt + =
Split selections on new lineAlt + S
Go to next foldCtrl + Alt + ]
Go to previous foldCtrl + Alt + [
Go to parent foldCtrl + Alt + P

āœŒļøāŒØļø Double-Key commands

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 up or Add caret cursor down do
  • If you have internal plugin Quick Switcher enabled, 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.

šŸŽ›ļø 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.

āš ļø Possible conflicts:

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:

HotkeyVisual Studio CodeJetBrains IDEsMicrosoft Visual StudioObsidian Action
Ctrl + LExpand line selectionsToggle checkbox status
Ctrl + EnterInsert line belowInsert line aboveOpen link under cursor in new tab
Ctrl + WExpand line selectionsClose current tab
Ctrl + Alt + EnterInsert line aboveOpen link under cursor to the right

My conflicts handling

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!

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.