Keyboard Shortcuts That Actually Save Time Across Workflow Apps
1. When command k does something different in every web app
Welcome to the weird world of ⌘ + K
(Command + K) – the most inconsistent shortcut in SaaS. In Slack, it jumps you to channels. In Notion, it pulls up a link popup. In Linear it’s the go-anywhere modal. In Gmail it still creates a hyperlink like it’s 2009. No joke: I once pressed it trying to find a teammate’s issue in Linear and dropped a link into a Jira comment instead. It previewed. I panicked. No way to undo.
If you’re jumping between apps, your muscle memory becomes your worst enemy. For devs it’s especially brutal in tools like Vercel or Raycast, where ⌘ + K
opens completely different panels depending on the page or context. It’s not just that they all have different meanings — it’s that the modal styling often looks the same, so your brain thinks you’re in Linear but you’re not.
“If every tool insists on hijacking ⌘ + K, at least give us the courtesy of predictive autocomplete that makes sense inside the app’s actual domain.”
Pro tip: in any app built on Electron or with custom JS overlays (like Notion, Superhuman, or Roam), you can often disable or remap ⌘ + K
by sniffing it out in the dev tools console and overriding the handler. It’s disgusting, but functional.
2. Copy paste fails when keyboard context gets hijacked by extensions
The day I installed Grammarly for Chrome and then tried to copy a code snippet from GitHub was the day I learned how quickly a shortcut can backstab you. I selected code, hit ⌘ + C
, and instead of copying, Grammarly popped open a sidebar trying to analyze it. Not only did I NOT copy anything — it also lagged my cursor so clipboard never updated and I pasted half an error message into Slack instead. Beautiful.
There’s no standard way for extensions to report that they’re hijacking keyboard events, and many don’t honor modifier key bubbling at all. If you’re debugging an automation trigger that depends on copied content — like pushing clipboard text to an API with a hotkey — you have to actually check what lands in the clipboard and whether the original app’s context ever received the input event.
document.addEventListener('copy', function (e) {
console.log('Copy detected, data:', e.clipboardData.getData('text/plain'))
})
If this doesn’t fire: you’re at the mercy of an interfering extension. Try disabling Grammarly, Loom, or any sidebar-enabled AI writing tool to restore basic copy behavior.
3. Keyboard driven navigation in Airtable is secretly powerful
Airtable doesn’t advertise it, but you can move around record views and field creation with near-spreadsheet speed using just a handful of keyboard commands. I stumbled on this trying to input 20 rows of dummy project data during a Zap debug session when Zapier’s Airtable Create Record was returning “Could not parse property: tags.name”. Turns out, the field needed to have a linked record relationship, and I recreated the whole base by hand.
Enter
lets you start editing a cellTab
moves right;Shift + Tab
moves leftCtrl + ↑ / ↓
switches records in expanded viewCmd + Option + K
opens the list of keyboard shortcuts (yup)Cmd + Shift + K
toggles Kanban if the view exists
You can quick-create a new record in a linked field cell by typing part of the name, then Enter
. But here’s the catch: if you duplicate a base, some of the hidden keyboard glue breaks. Especially with formula-backed fields — you can’t keyboard-navigate into a formula if it’s been copy-transplanted from another base without reload.
4. Cross-modal shortcut overlap inside Notion databases
Typing inside a cell in a Notion database lets you use markdown — unless it’s a select field, then suddenly formatting shortcuts just input literal symbols. One time I opened up a client dashboard, hit Cmd + B
to bold, and instead the cell accepted “**bold test**” as plain text. Cool.
The bigger mess happens when you try to shift-select multiple entries and bulk-edit via keyboard. The expected behavior (edit first, press Tab to move) works on Desktop only if the table view is scrolled entirely into viewport. If even one row is partially off-screen, Notion swallows the key input and the next field doesn’t activate. Working theory is the scroll reflow runtime prioritizes focus shifting over real event bubbling.
“Tab only works in databases when your soul is perfectly aligned with Notion’s render cycle.”
There’s also an edge case with backticks in formula fields. If you copy-paste a block of text into a formula field using keyboard paste (Cmd + V
), and that text includes backticks (`), Notion sometimes parses it as an attempted inline code block and your formula breaks visually, but not syntactically. It won’t error — it’ll just display weird. Good luck spotting that in a team meeting.
5. Zapier shortcut debugging using the in-browser key logger
When keyboard shortcuts interact with browser automations — like Zapier’s Chrome extension or Clipboard Manager — estimating what actually triggered the event becomes guesswork fast. I had a Zap wired to the clipboard trigger, mapping clipboard content to an OpenAI prompt and logging results in Airtable. Amazing in theory until it triggered on every Cmd + C
hit – even if I was copying inside VS Code.
Zapier’s extension doesn’t expose shortcut-level filtering, so you’re stuck debugging with browser dev tools. The fastest path: use window.addEventListener('keydown')
and console.log every key event while watching the activeElement chain.
window.addEventListener('keydown', (e) => {
console.log(e.key, document.activeElement)
})
If you’re seeing multiple trigger firings without any new clipboard mutation, the Chrome extension likely cached a stale value. Force reload the background page (chrome://extensions
→ Zapier → service worker → inspect → reload) to snap it back.
6. Superhuman overrides Gmail keyboard defaults without warning
Superhuman markets itself around speed. And yeah, hitting Cmd + Shift + Enter
to send emails aggressively is satisfying — until you switch back to Gmail and that combo becomes nonsensical. Worse: if you open Gmail while the Superhuman browser extension is still loaded, some keyboard overrides persist outside scope. I’ve seen it affect native Gmail label navigation, rendering G then I
(“Go to Inbox”) flat-out unresponsive until the tab is reloaded.
There’s no visual indicator that this override is happening. This leads to hair-pulling moments where you’re sure you pressed the shortcut but nothing happens — again. If you dig into the source, Superhuman listens to global keyup events and halts propagation when email-compose is detected in DOM, even if the node isn’t active.
“If Gmail shortcuts suddenly stop working, try hard-refreshing and pray you didn’t leave Superhuman open in another window.”
One undocumented edge case: if you hit R then E
too quickly in Gmail (Reply then Archive), and autocomplete UI is still in focus, only one key registers. You’ll think you archived the thread, but it’s still open. Keyboard automation toward invisible UI states is fragile — double check the screen’s real final state.
7. Using Obsidian with Vim mode and native MacOS shortcuts
Obsidian’s Vim mode is glorious until it decides to eat native MacOS hotkeys like Cmd + Left
(go to start of line) or Cmd + Z
(undo). One note-taking session I ran four lines of edits inside Vim mode, tried to undo, and it only went back two edits. Turns out Vim insert mode had lost state during a plugin hot-reload, and the remaining actions were committed outside the same bridge context.
The more plugins you load—especially custom modal extensions like Advanced Tables or Sliding Panes—the more likely native hotkeys start clashing. Obsidian treats Vim hotkeys as first-class. That’s good for power users, brutal for Mac muscle memory.
Workaround that mostly works:
// inside a .obsidian/snippets.css file
.cm-keymap-vim .cm-line {
--vim-selection-background: transparent !important;
}
This reduces some of the jarring overwrites. But prep yourself: if you toggle back and forth between Obsidian and native editors like Notes, your brain will spend three minutes writing :wq
into a grocery list before it calms down again.