Split Diff View Now Default
Zed v0.224 introduces split diffs as the new default view for project and branch diffs. The split view displays the base version of files on the left and your working copy on the right, with both sides scrolling in sync. This was the most-requested feature following Zed's Git integration launch in March 2025.
Technical Architecture
Unlike traditional file-by-file diff implementations, Zed's split diffs are built on the editor's multibuffer system—a unified, editable surface spanning multiple files. This architecture enables seamless cursor movement across file boundaries and text selection spanning multiple files, but it introduced unique technical challenges:
- Alignment complexity: A single misalignment in the split view cascades through the entire multibuffer, affecting file headers and content placement across all changed files
- Scalability requirements: The implementation had to handle projects with thousands of changed files without performance degradation
Implementation Details
The team modeled the left-side multibuffer by using the original file versions (already computed for diffs) and highlighting deleted hunks in red. To keep corresponding lines vertically aligned, they leveraged Zed's block map—the same component powering diagnostics and inline assistance—to insert spacers (visual padding rendered as subtle checkerboard patterns) between lines.
Performance Optimizations
Development surfaced unexpected wins across the editor:
- Fixed inefficiencies in the block map discovered during view switching, improving project search performance
- Corrected macOS process spawning API usage (
posix_spawninstead offork/exec), reducing main-thread hangs from git blame and external processes - Split-diff-specific optimizations for initial view construction and incremental diff updates
Getting Started
Split diff is now the default behavior, but users can revert to unified diffs via Diff View Style settings. The team continues optimizing performance in upcoming releases.