Hidden Gems: Part 3

March 3rd, 2026

Previous editions of Hidden Gems featured tips from across the team and community. This time, I'm covering my most-used hidden features—ones I think you'll find useful too. No need for a longer introduction—let's mine some gems! 🪨⛏️➡️💎

Multiple Project Search Tabs

By default, Zed treats the project search multibuffer like a singleton per pane. If you already have a project search open in the current pane, using cmd-shift-f (macOS) / ctrl-shift-f (Windows / Linux) will simply refocus the existing search tab. If you want multiple project search tabs, here are a couple of ways to do it.

  1. In your existing project search tab, type a new query. Instead of hitting enter, use cmd-enter (macOS) / ctrl-enter (Windows / Linux). This corresponds to the project search: search in new command palette action.
  2. You can also adjust the project search keybinding to launch in a new tab rather than refocusing the existing one.
    {
      "context": "Pane",
      "bindings": {
        "cmd-shift-f": "workspace::NewSearch" // or whatever binding you please
      }
    }
    Note that Zed will still refocus the existing search tab if no search has been performed in it yet.
Three project search tabs open side by side
Three project search tabs open side by side

Gather Your Selections

If you're into multi-cursor editing, you frequently run commands like editor: select next and editor: select all matches to select other snippets matching what is under your current selection. You responsibly review your selections to ensure you've not captured anything unintended before you start jumping over subwords and replacing text. The catch is, reviewing selections that are spread out over potentially thousands of lines of code can be a drag. Instead of scrolling through all those lines, open the command palette and run editor: open selections in multibuffer. Now, all of your selections are just a few lines apart from one another.

Scattered selections consolidated into a multibuffer
Scattered selections consolidated into a multibuffer

Quick-Swap Your Settings

Zed has a settings profile system that lets you define alternative setting values you can toggle on the fly. I have profiles configured to quickly adjust Zed for social media screenshots. Here are a few:

"profiles": {
  "Presenting (Dark)": {
    "agent_buffer_font_size": 18.0,
    "buffer_font_size": 18.0,
    "theme": "One Dark",
    "ui_font_size": 18.0,
  },
  "Presenting (Dark - Dracula)": {
    "agent_buffer_font_size": 18.0,
    "buffer_font_size": 18.0,
    "theme": "Dracula",
    "ui_font_size": 18.0,
  },
  ...
}

Once configured, open the command palette and run settings profile selector: toggle to preview and select a profile.

The settings profile selector showing available profiles
The settings profile selector showing available profiles

The setting values for the selected profile are layered on top of your existing settings.

Remember—profiles can hold almost any Zed setting, so they could:

  • Swap to an alternative language server for a given language
  • Reconfigure your panel layout
  • Put Zed into a "Zen" state for writing prose

Get creative!

Editing Micro-Optimizations

Pressing enter to start a new line works great when your cursor is already at the end of a line—but what if it's not?

Instead of repositioning your cursor first:

  • Use cmd-enter (macOS) / ctrl-enter (Windows / Linux) to start a new line below and jump your cursor there.
  • Use cmd-shift-enter (macOS) / ctrl-shift-enter (Windows / Linux) to start a new line above.
Inserting new lines above and below with keyboard shortcuts
Inserting new lines above and below with keyboard shortcuts

Honorable mention for Mac users: hold fn while pressing delete to delete the character to the right of your cursor instead of the left.

These are super small tweaks, but the savings add up over time when you use them consistently.


For more ways to edit text without reaching for your mouse, check out Text Manipulation Kung Fu.

Spot the Difference

Duplicate code with subtle variations is common in any sizeable codebase. When it's time to consolidate those chunks into a function, figuring out the exact differences can be tedious—especially with larger blocks.

In Zed, you can copy one block to the clipboard, select the other, and run editor: diff clipboard with selection from the command palette. The diff shows you exactly what needs to become a parameter in your refactored function.

Diff view comparing clipboard contents with selected code
Diff view comparing clipboard contents with selected code

Sequence Your Actions

Zed's keybinding system has a fairly obscure yet powerful action: action::Sequence. It's an action that lets you chain multiple actions under one keybinding.

I use one to automate Danilo's writing-focus tip—it closes all docks and inactive files, then toggles a centered layout so I can focus on writing without distractions.

"cmd-alt-a": [
  "action::Sequence",
  [
    "workspace::CloseAllDocks",
    "workspace::CloseInactiveTabsAndPanes",
    "workspace::ToggleCenteredLayout",
  ]
]

What actions might you want to sequence?

Share Your Hidden Gems

Let us know which of these gems you found most useful, and please share your gems so we can adopt the tips you can't live without.




Looking for a better editor?

You can try Zed today on macOS, Windows, or Linux. Download now!


We are hiring!

If you're passionate about the topics we cover on our blog, please consider joining our team to help us ship the future of software development.