micro — A Modern Terminal Text Editor That Just Works
micro is a terminal-based text editor with familiar shortcuts (Ctrl+S, Ctrl+C, Ctrl+V). No Vim/Emacs learning curve, mouse support, plugin system, syntax highlighting for 100+ languages — the modern alternative to nano.
What it is
micro is a terminal-based text editor written in Go that brings desktop-style keyboard shortcuts to the command line. Instead of memorizing Vim keybindings or Emacs chords, you use Ctrl+S to save, Ctrl+C/V for clipboard, and Ctrl+Q to quit. It ships as a single binary with no dependencies.
The editor targets developers who spend most of their time in IDEs or GUI editors but occasionally need to edit files on remote servers or inside containers. If you know how to use Notepad, you know how to use micro.
How it saves time or tokens
micro eliminates the context-switch penalty of learning a modal editor. When you SSH into a server and need to edit a config file, you open it with micro config.yaml and start typing immediately. No mode confusion, no accidental deletions from hitting the wrong key in the wrong mode.
For AI-assisted workflows, micro's simplicity means less time explaining editor commands to colleagues or automation scripts. The JSON-based keybinding config is also easy for AI agents to generate or modify.
How to use
- Install micro on your platform:
# macOS
brew install micro
# Linux
curl https://getmic.ro | bash
# Or via package manager
sudo apt install micro
- Open any file with
micro filename.txtand start editing with familiar shortcuts.
- Customize keybindings by editing
~/.config/micro/bindings.json.
Example
# Install and open a file
brew install micro
micro ~/.zshrc
# Inside micro:
# Ctrl+S - save
# Ctrl+Q - quit
# Ctrl+F - find
# Ctrl+Z - undo
# Ctrl+D - duplicate line or select next match
# Ctrl+E - open command bar
# Ctrl+G - go to line
Split panes work too:
# In micro command bar (Ctrl+E):
> hsplit filename.go
> vsplit another.go
> tab filename.rs
Related on TokRepo
- CLI and Automation Tools -- Browse other terminal productivity tools curated on TokRepo
- Self-Hosted Tools -- Explore self-hosted developer tools that run entirely on your machine
Common pitfalls
- micro's clipboard integration depends on xclip or xsel on Linux. Install one of them or clipboard copy/paste will silently fail.
- The plugin system uses Lua, not Go. Do not try to write plugins in Go -- use the Lua API documented in the micro wiki.
- On some SSH connections, mouse support can conflict with terminal multiplexers like tmux. Disable mouse in micro with
set mouse falseif scrolling behaves oddly inside tmux.
Frequently Asked Questions
micro supports multi-cursor editing, split panes, a plugin system, regex find-and-replace, and syntax highlighting for over 100 languages. nano covers basic editing but lacks these features. micro also uses familiar desktop shortcuts rather than nano's Ctrl+O to save convention.
For quick file edits, yes. For power users who rely on Vim motions or Emacs Lisp extensibility daily, micro is not a substitute. micro targets the use case of editing files on servers or in containers where you want zero learning curve.
micro has community plugins for basic autocomplete and LSP integration. Install them via the built-in plugin manager with 'plugin install'. The LSP support is functional but less mature than what VS Code or Neovim offer.
Yes. micro runs on Windows, macOS, and Linux. On Windows you can install it via Scoop or Chocolatey, or download the binary directly from the GitHub releases page.
Open the command bar with Ctrl+E and type 'plugin install plugin-name'. Available plugins are listed in the official micro plugin channel on GitHub. Popular ones include filemanager (tree view), fzf (fuzzy finder), and lsp.
Citations (3)
- micro GitHub Repository— micro is a terminal-based text editor written in Go with plugin support
- micro README— Syntax highlighting for 130+ languages and a Lua plugin system
- micro Documentation— micro keybindings are configured via JSON files
Related on TokRepo
Discussion
Related Assets
doctest — The Fastest Feature-Rich C++ Testing Framework
doctest is a single-header C++ testing framework designed for minimal compile-time overhead and maximum speed.
Chai — BDD/TDD Assertion Library for Node.js
Chai is a flexible assertion library for Node.js and browsers that supports expect, should, and assert styles.
Supertest — HTTP Assertion Library for Node.js APIs
Supertest provides a high-level API for testing HTTP servers in Node.js with fluent assertion chaining.