Skink vs Neovim
Neovim is a modal, endlessly configurable editor with a huge plugin ecosystem. Skink is a modeless terminal editor that ships the IDE parts built in: language servers, tree-sitter, git, a terminal tab and AI agents, with Micro / VS Code style keys and full mouse support.
If you like modes and enjoy building your own setup, stay on Neovim. If you want the terminal workflow without modes or a config project, try Skink.
Who should pick Neovim
Section titled “Who should pick Neovim”- Vim motions. You think in motions and text objects (
ciw,dap,.) and do not want to give them up. - Plugins. Neovim’s Lua ecosystem covers almost anything: debuggers through nvim-dap, fuzzy finders, note systems, language-specific tooling. Skink has no plugins or scripting yet.
- A mature debugger. nvim-dap has years of adapters and UI plugins behind it. Skink’s built-in debugger is new.
- Maturity. Neovim has been in daily use by a large community for over a decade. Skink is alpha.
Who should pick Skink
Section titled “Who should pick Skink”- No modes. You want to work in the terminal, over SSH, keyboard-driven, without switching between Normal and Insert mode.
- A GUI-like mouse. Click to place the cursor, drag to select, Alt+click for more cursors, click tabs, drag split dividers, scroll sideways with Shift+wheel or a trackpad swipe.
- IDE features on first start. LSP, completion, rename, code actions, git hunks and blame, project search and an AI agent panel, without assembling them from plugins.
- One binary. One small static binary you can drop on any server.
Feature comparison
Section titled “Feature comparison”| Skink | Neovim | |
|---|---|---|
| Editing model | Modeless (Micro / VS Code keys) | Modal (Vim) |
| Mouse | On, always; click, drag, multi-cursor, tabs, dividers | On by default since 0.8 (mouse=nvi) |
| LSP | Built in, servers start on first use | Built-in client; servers configured by you (or a plugin) |
| tree-sitter | Built in, 19 languages compiled in | Built in; parsers installed per language |
| Built-in terminal | Yes, as tabs and a bottom dock | Yes, :terminal |
| AI agents | ACP client, agent panel, prompt box with inline diff review | Through plugins |
| Plugins | None yet | Large Lua and Vimscript ecosystem |
| Debugger (DAP) | Built in | nvim-dap plugin |
| Works over plain SSH | Yes | Yes |
| Footprint | Small (one static binary) | Small core; grows with plugins |
| Maturity | Alpha | Mature |
What you give up, honestly
Section titled “What you give up, honestly”Neovim’s strength is that it becomes exactly your editor. Every key, every panel and every workflow can be changed with Lua.
Skink’s keys and settings are configurable in JSON, but you cannot add new behaviour yet. If you rely on a specific plugin (a test runner UI, a REPL bridge, org-mode style notes), check that Skink covers it before switching.
Skink also has no Vim emulation and no plan for one. If you want modal editing with built-in IDE features, look at Helix.
What you get without configuring anything
Section titled “What you get without configuring anything”- Language servers for Rust, TypeScript/JavaScript, Python, Go, Dart and Zig start when you open a file of that language, if the server is installed. You get completion, hover (Alt+K), go to definition (Alt+G), references (Alt+R), code actions (Alt+Enter) and rename across files through a preview with checkboxes.
- Git: gutter marks, stage or revert a hunk, inline blame, a git panel (Alt+Shift+C or
:gitpanel), side-by-side diff and clickable merge-conflict resolution. - Terminal tabs: F12 flips between your file and a shell, Shift+F12 opens another. They are real terminal emulators, so
htop,lazygitorclauderun unchanged. - AI agents over the Agent Client Protocol: Claude Code, Gemini CLI, opencode, Goose, Codex and others. See AI agents.
Neovim keys and their Skink equivalents
Section titled “Neovim keys and their Skink equivalents”The keys follow Micro, which follows common desktop editors. The ones you will reach for first:
| You did in Neovim | In Skink |
|---|---|
:w |
Ctrl+S (or :w) |
:q |
Ctrl+Q (or :q) |
u / Ctrl-r |
Ctrl+Z / Ctrl+Y |
/pattern, n / N |
Ctrl+F, then Ctrl+N / Ctrl+P for next / previous match |
v, V |
Shift+arrows, or drag with the mouse |
gd |
Alt+G (or :def) |
K |
Alt+K |
Ctrl-o (jump back) |
Alt+U (or :back) |
| Telescope find files | Alt+P (or :recent) |
| live grep | Alt+S or Ctrl+Shift+F (or :grep) |
:vsplit / :split |
Ctrl+\ / Alt+\ (or :vsplit / :split) |
q / @ macros |
Ctrl+U records, Ctrl+J replays |
:terminal |
Shift+F12 or :term |
Vim names in the command line
Section titled “Vim names in the command line”Press Ctrl+E for the command line; it shows the colon for you, so you type just w or q. Many commands keep their Vim names: :w, :q, :e FILE, :vs, :sp, :only, :goto.
Every key also has a typed command, such as :comment or :dotfiles. See typed commands and the full list in shortcuts.
Add your own bindings
Section titled “Add your own bindings”If you miss a binding, add it to ~/.config/skink/bindings.json:
{ "Alt-w": "Save", "Ctrl-5": "JumpToMatchingBrace"}Try it
Section titled “Try it”curl -fsSL https://skink.cc/install.sh | shskink .It installs to ~/.local/bin without sudo, and you can keep Neovim installed side by side.
Next: quick start, or read a Neovim-style editor without modes.