LinuxCommandLibrary

micro

Edit text files in the terminal

TLDR

Open a file

$ micro [path/to/file]
copy

Save a file
$ <Ctrl s>
copy

Cut the entire line
$ <Ctrl k>
copy

Search for a pattern in the file (press / to go to next/previous match)
$ <Ctrl f>[pattern]<Enter>
copy

Execute a command
$ <Ctrl e>[command]<Enter>
copy

Perform a substitution in the whole file
$ <Ctrl e>replaceall "[pattern]" "[replacement]"<Enter>
copy

Quit
$ <Ctrl q>
copy

SYNOPSIS

micro [options] [file ...]

PARAMETERS

--plugin <command>
    Run a specific plugin command.

--clean
    Starts micro with no plugins or config files loaded. Useful for debugging.

--options <file>
    Specifies an alternative options file to load.

--config-dir <dir>
    Specifies an alternative configuration directory.

--debug
    Enables debug logging.

--version
    Prints the micro version and exits.

--truecolor
    Forces true color support (24-bit color).

--tty
    Forces micro to use a tty even if it doesn't detect one.

--raw
    Forces micro to read raw bytes from stdin.

--
    Marks the end of options, allowing filenames starting with '-'.

DESCRIPTION

micro is a modern and intuitive terminal-based text editor designed to be easy to use while offering extensive customization and powerful features. Unlike traditional editors like vi or emacs with steep learning curves, micro offers familiar keybindings (like Ctrl-S for save, Ctrl-Q for quit) making it accessible to newcomers. Written in Go, it's cross-platform and available on various operating systems.

Its advanced features include multiple cursors for simultaneous editing, a built-in plugin manager, syntax highlighting for over 100 languages, mouse support, true color support, and a highly configurable setup using JSON files. It aims to bridge the gap between simple editors like nano and powerful, complex ones like vim, providing a pleasant and efficient editing experience directly in your terminal.

CAVEATS

While micro is powerful, it can consume more memory than simpler editors for very large files due to its modern features. It's not typically pre-installed on most Linux distributions, requiring a separate installation. Full functionality, especially true color and mouse support, depends on a capable terminal emulator.

KEY FEATURES

micro boasts a variety of modern features including multiple cursors, split windows, syntax highlighting (over 100 languages), mouse support, copy/paste with system clipboard, automatic indentation, and a built-in help system. It is designed to be highly intuitive with common keybindings familiar to GUI editor users.

CONFIGURATION AND PLUGINS

micro is highly customizable through its JSON configuration files for keybindings and options. It also features a robust plugin system, allowing users to extend its functionality with community-developed plugins. Plugins can be installed and managed directly from within the editor.

HISTORY

micro was created by Zach Archer, with its first release around 2016. Its primary goal was to address the need for a modern, user-friendly, yet powerful terminal editor that could serve as an accessible alternative to nano while offering capabilities akin to vim or emacs without their steep learning curves. It's written in the Go programming language, which contributes to its cross-platform nature and ease of deployment. Since its inception, micro has gained significant popularity for its balance of simplicity and advanced features.

SEE ALSO

nano(1), vim(1), emacs(1), neovim(1), helix(1)

Copied to clipboard