Emacs Unified: Consolidated Emacs Keybindings for VS Code

Getting Emacs keybindings working properly in VS Code used to mean installing several extensions that overlapped, conflicted, and accumulated supply-chain risk independently. Emacs Unified consolidates them into one package.

What it is

It’s a fork of vscode-emacs-mcx (Awesome Emacs Keymap) by Yuichiro Tsuchiya, which is the best Emacs keybinding implementation for VS Code. I forked it to absorb related extensions, add missing commands, and cut the dependency surface down to zero runtime npm packages.

The extensions that are now part of the package:

  • vscode-dired — rewritten with async I/O, available via C-x d
  • vscode-emacs-tab, vscode-emacs-indent, vscode-emacs-delete-horizontal-space, vscode-json-pretty-printer — dropped, upstream or VS Code built-ins cover all of these

What’s new beyond upstream

M-; comment-dwim — a faithful implementation with five context-dependent behaviors: toggle comment on a region, insert a comment on a blank line at code indentation, append a comment to a code line, move into an existing comment, or realign a comment-only line. Block comment syntax for 40+ languages built in, user-extensible via settings.

M-g n / M-g p unified next-error — checks diagnostics first, falls back to search results, just like Emacs navigates whatever error source is active.

Sexp operations via paredit-ts — structural editing with C-M-f, C-M-b, C-M-k, and friends.

Additional bindingsC-M-u (backward-up-list), C-M-d (down-list), C-x C-b (list buffers MRU).

Compatibility

Emacs Unified retains the emacs-mcx configuration namespace. Existing emacs-mcx.* settings carry over without changes. The extension cannot be installed alongside Awesome Emacs Keymap — they share command IDs. Uninstall one before installing the other.

Works as both a desktop extension and a web extension.

Install

Search “Emacs Unified” in the VS Code Extensions panel, or:

code --install-extension kshartman.emacs-unified

Also available on Open VSX for VS Code-compatible editors.

The code is on GitHub: kshartman/vscode-emacs-unified.

← media-management-system: A Digital Asset Management Platform Built with Next.js