cd ~
git init
git remote add origin https://github.com/leonsilicon/macos-configs
git pull origin main
https://configure.zsa.io/embed/moonlander/layouts/XYYQy/latest/0
My Karabiner-Elements keymaps, which can be found at .config/goku/karabiner.edn
, is defined using GokuRakuJoudo which uses it to generate a karabiner.json
file.
Shortcuts for system-wide utilities such as controlling Yabai (the window manager) or opening certain applications use the following combination of modifier keys (referred to as "Super"): ⌘⌥^
(and optionally ⇧
)
We don't use the
Fn
key because it's not detectable when setting shortcuts in certain applications.
Karabiner is used for the keybinds which can be found at .config/goku/karabiner.edn
The general rule for using "Shift" is if a command is a complementary one (e.g. increasing height instead of width)
<Super+J>
Focus window down
<Super+Shift+J>
Move window down
<Super+K>
Focus window up
<Super+Shift+K>
Move window up
<Super+L>
Narrow/expand window to left
<Super+Shift+L>
Increase window height
<Super+H>
Narrow/expand window to right
<Super+Shift+H>
Decrease window height
<Super+M>
Focus master window
<Super+Shift+M>
Move window to master
<Super+I>
Increase number of master windows
<Super+D>
Decrease number of master windows
<Super+[>
Focus previous display
<Super+Shift+[>
Move window to previous display
<Super+]>
Focus next display
<Super+Shift+]>
Focus window to next display
<Super+Z>
Minimize focused window
<Super+Q>
Quit focused window
<Super+A>
Opens Todoist (quick add mode)
<Super+B>
Opens Arc Browser
<Super+Shift+B>
Show/Hide hidden menu bar items in Bartender
<Super+C>
Opens CleanShot X (all-in-one mode)
<Super+E>
Toggles KeyCastr
<Super+G>
Play/Pause Lofi Garden
<Super+Shift+G>
Toggle Lungo
<Super+N>
Show Notion Calendar
<Super+Shift+N>
Join upcoming meeting in Notion Calendar
<Super+P>
Opens 1Password (quick access mode)
<Super+Shift+P>
Opens ColorSnapper Color Picker (ColorSlurp causes focused window to lose focus, Sip has bug with shortcuts that use the Command key)
<Super+R>
Opens Shortcat
<Super+S>
Screenshot w/ CleanShot X ("Capture Area")
<Super+Shift+S>
Screenshot to clipboard w/ CleanShot X ("Capture Area & Copy to Clipboard")
<Super+T>
Opens Toggl Track
<Super+Shift+T>
Start/Stop Timer in Toggl Track
<Super+U>
Toggle Numi
<Super+Shift+U>
Show/Hide uBar
<Super+V>
Toggle Paste
<Super+Shift+V>
Show webcam video preview with Hand Mirror
<Super+W>
Opens Warp
<Super+Shift+W>
Opens Warp in a new window
<Super+X>
Toggle PixelSnap
<Super+Space>
Opens Raycast
<Super+)>
Increase brightness (using Lunar)
<Super+(>
Decrease brightness (using Lunar)
<Super+;>
Lock Screen (since ,
and .
represent moving between displays, it seems fitting that the key ;
to the left of ,
should mean "lock screen")
<Super+,>
Volume Down
<Super+.>
Volume Up
<Super+0>
Volume Mute
<Option+Left>
Go to end of word
<Option+Shift+Left>
Select to end of word
<Option+Right>
Go to start of word
<Option+Shift+Right>
Select to start of word
<Command+Left>
Go to start of line
<Command+Shift+Left>
Select to start of line
<Command+Right>
Go to end of line
<Command+Shift+Right>
Select to end of line
<Command+Up>
Go to start of input
<Command+Shift+Up>
Select to start of input
<Command+Down>
Go to end of input
<Command+Shift+Down>
Select to end of input\
My VSCode shortcuts generally adhere to the following principles:
⌥
- Used for "navigation" actions (e.g. changing views, go to definition, switching between editors, etc.)
⌘
- Used for "non-navigation" actions (usually modifies state, but also includes actions like search/find)
⌘⇧
- Used for complementary "non-navigation" actions, e.g. opposites (⌘Z
= Undo, ⌘⇧Z
= Redo), or scope changes (⌘F
= Find in current file, ⌘⇧F
= Find in all files)
^
- Not used for any VSCode shortcuts - reserved for the Vim extension
^⌥
- Used for shortcuts that set/toggle some sort of option
<Option+A>
Reveal Active File in Explorer View
<Option+C>
Go to declaration
<Option+D>
Go to definition
<Option+F>
Go to file
<Option+G>
A chord keybind to represent "global"-ness
<Option+HJKL>
Navigate between views
<Option+I>
Go to implementations
<Option+M>
Go to next merge conflict
<Option+Shift+M>
Go to previous merge conflict
<Option+P>
Go to next problem
<Option+Shift+P>
Go to previous problem
<Option+R>
Go to references
<Command+A>
Select all
<Command+C>
Copy
<Command+E>
ESLint Fix auto-fixable problems
<Command+F>
Find in file
<Command+Shift+F>
Search in project
<Command+M B>
Merge conflict: Accept both
<Command+M C>
Merge conflict: Accept current
<Command+M I>
Merge conflict: Accept incoming