norns app icon

macOS · Apple Silicon · Nightly builds

The native code editor
for Apple Silicon.

norns is written in Odin and drawn with Dear ImGui on Metal. Tree-sitter, language servers, Git, a real terminal and an optional Vim mode, with the keys and settings you already know from VS Code.

macOS 14 Sonoma or later · Signed & notarised · Updates itself

norns with a split editor showing Odin source and an integrated terminal running lazygit
  • Odin
  • Rust
  • Go
  • TypeScript
  • Python
  • Swift
  • Zig
  • C
  • C++
  • C#
  • Java
  • Kotlin
  • Ruby
  • Elixir
  • Erlang
  • Haskell
  • OCaml
  • Scala
  • Julia
  • Lua
  • PHP
  • Perl
  • Dart
  • Objective-C
  • Metal
  • GLSL
  • HLSL
  • SQL
  • Terraform
  • HCL
  • Nix
  • Bash
  • Zsh
  • PowerShell
  • HTML
  • CSS
  • JavaScript
  • TSX
  • JSON
  • JSON5
  • YAML
  • TOML
  • XML
  • Markdown
  • Dockerfile
  • Makefile
  • CMake
  • Just
  • Protocol Buffers
  • R
  • Assembly

Features

Everything you reach for.
Nothing you wait for.

⇧⌘P

One box. Every command.

Files, commands, symbols and line numbers live behind a single fuzzy-matching box, scored like fzf. Typemvw and find model_view.ts. Every command shows the keys you've bound to it.

The norns command palette listing View commands with their shortcuts
⌃⇧G

Git, beautifully.

A commit graph with lanes and badges, side-by-side diffs with word-level highlights, hunks you can stage from the gutter, conflict resolution and one-click sync. It runs your own git, so hooks, signing and credentials just work.

The norns source control graph next to a side-by-side diff of a commit
⌃`

A real terminal, built in.

Powered by libghostty, so vim, htop and lazygit run properly, with true colour, styled underlines and Nerd Font glyphs. Terminals open in your project and come back with your session.

lazygit running in the norns integrated terminal panel

Tree-sitter everywhere

Incremental parsing in the background for 50+ languages, with folding, smart indent and structural selection.

Language servers

Diagnostics, completion, hover, rename, references and code actions from ols, gopls, rust-analyzer, clangd, pyright and more.

Multiple cursors

⌘D, ⇧⌘L, column selection and per-cursor paste, exactly where your fingers expect them.

Optional Vim mode

Operators, text objects (tree-sitter ones too), registers, macros, marks and ex commands, with every cursor.

Gigabyte files

Files are mapped, not read, and only visible lines are laid out. Multi-gigabyte logs open almost at once and stay editable.

Hot exit & sessions

Quit, crash or kill -9: tabs, splits, folds, terminals and unsaved edits all come back exactly as you left them.

Markdown preview

CommonMark with GitHub tables, task lists and fenced code coloured like the editor. ⇧⌘V flips between source and preview.

Signed, notarised, self-updating

Developer ID signed and notarised by Apple. Updates are signed too, and install in place without losing your work.

Speed

Measured in microseconds.

No Electron, no web view, no garbage collector. Every hot path in norns has a benchmark and a budget, measured on every push.

120fps

Drawn on Metal, every frame

21.4GB/s

Literal search across a project

1.9µs

To apply a keystroke

1.6ms

Git gutter diff of a 50,000-line file

From the norns benchmark suite on an Apple M4 Pro. Search uses three threads.

Odin source code highlighted with tree-sitter in the norns editor

Muscle memory

Your VS Code keys.
Your settings. Your keybindings.json.

Key bindings, command IDs and setting names follow VS Code's macOS defaults, so most habits and config carry straight over.

Themes

Four flavours of Catppuccin.

Latte, Frappé, Macchiato and Mocha ship in the box. Add your own with a data-only extension.

norns in the Catppuccin Latte themenorns in the Catppuccin Frappé themenorns in the Catppuccin Macchiato themenorns in the Catppuccin Mocha theme

Inside

Built from the metal up.

A native app with a small, sharp stack. No runtime to boot, no browser to feed.

Weave your next project
in norns.

Download the nightly

macOS 14 Sonoma or later on Apple Silicon. norns is early software: one folder per window, no VoiceOver yet.