Your leader key for Xcode.

XCommander is a vision of an app that stands between your keyboard and Xcode: a discoverable, mnemonic command tree for its menus, panes, navigators and buffers. Just press ⌥↩.

Read the build log

In active development

// MARK: - What it does

A layer on top, not a replacement.

XCommander is to Xcode what Spacemacs is to Emacs: one leader key, then a discoverable tree of everything the editor can do.

⌥↩

Which-key, for Xcode

Press the leader key and a panel shows what comes next. Commands you never knew Xcode had, one mnemonic away.

⌥↩:

Every menu command

All of Xcode’s several hundred menu items, read live through Accessibility and fuzzy-searchable in one palette.

⌥↩w

Panes & buffers

Split, focus, resize and send buffers between editors without reaching for the trackpad.

⌘⇧⌥

Zero switching cost

Keep Xcode, its debugger and its Vim mode. XCommander adds a layer on top; it never asks you to leave.

// MARK: - README

README.md

XCommander

A new way to do development in Xcode...

XCommander is an experimental native macOS app that brings Doom Emacs and Spacemacs experience to Xcode. The idea is to make Xcode keyboard driven in a nice/configurable way.

XCommander is written for one specific person: the Swift hacker and Xcode user who wants an experience similar to Emacs or Vim, and who still likes to craft his own code by hand and seeks flow and keyboard productivity.

XCommander icon as I designed it in Inkscape!

XCommander is still in the very early stages of development, and I'm taking all my time to figure things out, one thing at a time. If you want to follow its updates consider following its making in the weblog, or subscribing to the RSS feed to get the latest updates.

// MARK: - Lineage

Two histories, one merge.

Hackers taught editors to speak in keystrokes. NeXT and Apple built the IDE. XCommander is where the branches meet.

  1. 1a7e5c0 1976 EMACS is born at the MIT AI LabThe editor as a programmable environment, driven by key chords.
  2. 5f1b2d9 1976 Bill Joy writes vi at BerkeleyModal editing: keystrokes as a composable language.
  3. 9c0d31e 1989 NeXTSTEP ships Interface BuilderThe toolchain Xcode descends from, running on a black cube.
  4. b3e7a42 2001 Project Builder arrives on Mac OS XNeXT’s IDE crosses over to the Mac.
  5. c0de103 2003 Xcode 1.0Apple renames and rebuilds its IDE for a new decade.
  6. e5a0c14 2014 Spacemacs puts everything behind SPCA mnemonic, leader-key command tree. Discoverable by design.
  7. 7d4f915 2015 which-key shows what comes nextPress a prefix, see the keys that follow.
  8. 8a1dead 2016 Xcode 8 closes the plugin doorIn-process plugins end; Source Editor Extensions only see text.
  9. HEAD 2026 Merge: XCommanderA which-key layer for Xcode, driven from outside through the keyboard and the Accessibility API.