# Skink vs Helix

> Skink vs Helix: both ship LSP and tree-sitter in a terminal editor. Helix is modal and more mature; Skink is modeless with a terminal tab, git and AI agents.

Source: https://skink.cc/compare/helix/

Helix and Skink share a goal: a terminal editor where language servers and tree-sitter work on first start, with no plugin setup. The difference is the editing model. Helix is modal and selection-first; Skink is modeless with Micro / VS Code style keys.

Helix is the more mature project. Skink adds a terminal tab, git tooling and an AI agent client.

## Who should pick Helix

- **You want modal editing.** Helix's "select first, then act" model (the Kakoune tradition) makes more sense to you than Vim's.
- **You want maturity.** Helix has a large user base and broad language configuration. Skink is **alpha**.
- **You need a language Skink does not cover.** Helix supports many more languages out of the box. Skink has tree-sitter for 19 by default and starts servers for six.

## Who should pick Skink

- **No modes.** You want IDE features in the terminal without learning a modal model.
- **A real terminal inside the editor.** Helix has no built-in terminal. Skink has terminal tabs, a bottom dock, history search and clickable `file:line` links.
- **Git in the editor.** Hunks you can stage or revert, inline blame, a git panel, side-by-side diff and conflict resolution.
- **AI agents.** You run Claude Code, Gemini CLI, Codex or others and want a prompt box with inline diff review and an agent panel.

## Feature comparison

| | Skink | Helix |
|---|---|---|
| Editing model | Modeless | Modal, selection-first |
| Mouse | On | On by default (`mouse = true`) |
| Multiple cursors | Yes (Ctrl+D, Alt+click) | Yes, central to the model |
| LSP | Built in | Built in |
| tree-sitter | Built in | Built in, many languages |
| Built-in terminal | Yes | No |
| Git | Gutter, hunks, blame, panel, diff | Gutter diff markers |
| AI agents | ACP client | No built-in agent client |
| Plugins | None yet | Not in mainline yet (a Scheme-based system is in development) |
| Debugger | Yes (DAP) | Experimental |
| Clipboard over SSH | OSC 52 by default | `clipboard-provider = "termcode"` |
| Works over plain SSH | Yes | Yes |
| Footprint | Small | Small (runtime folder with grammars and queries) |
| Maturity | Alpha | Mature |

**Debugger:**
Skink has a built-in debugger (DAP). Helix's DAP support is experimental.

Neither has a plugin system you can use today. What ships is what you get, so the built-in feature list is the real comparison.

## Helix keys and their Skink equivalents

What Helix does with a selection plus a verb, Skink does with familiar shortcuts:

| Helix | Skink |
|---|---|
| `w`, `b` to select words | Ctrl+Shift+→ / ← |
| `x` select line | Home, then Shift+↓ |
| `Alt-o` / `Alt-i` expand / shrink to syntax node | Alt+O / Alt+I (`:expand` / `:contract`) |
| `C` copy selection to next line | Alt+Shift+↓ (`:cursorbelow`) |
| `*` then `n` for next match | Ctrl+D repeatedly |
| `d` / `y` / `p` | Ctrl+X / Ctrl+C / Ctrl+V |
| `Space f` file picker | Alt+P (or `:recent`) |
| `Space /` global search | Alt+S |
| `Space r` rename | Alt+Shift+R |
| `Space a` code action | Alt+Enter (`:fix`) |
| `gd` | Alt+G (`:def`) |
| `:w`, `:q` | Ctrl+S, Ctrl+Q (or `:w`, `:q`) |

Commands like `:w` are typed after Ctrl+E, which opens the command line with the colon already shown. Every key also has a typed command (like `:expand`, `:cursorbelow` and `:fix` above), which helps when a terminal swallows an Alt chord. See [typed commands](https://skink.cc/editing/typed-commands/).

### Multi-file edits

Rename, code actions, project replace and structural replace (`:srep`) open a refactor preview in Skink. It lists files and hunks with checkboxes and a side-by-side diff, so you can uncheck the parts you do not want.

## A note on design

Skink's authors read Helix's design, but no Helix code is used. Helix is MPL-2.0; Skink is MIT OR Apache-2.0 and only takes code from permissively licensed projects.

Both are written in Rust and use tree-sitter.

## Try it

```sh
curl -fsSL https://skink.cc/install.sh | sh
skink .
```

Helix and Skink install side by side, and both use the language servers you already have on `PATH`.

Next: [quick start](https://skink.cc/start/quick-start/), or compare with [Neovim](https://skink.cc/compare/neovim/).
