]> git.lizzy.rs Git - micro.git/blobdiff - README.md
Add autoretab
[micro.git] / README.md
index 3273dcf9b7638967a99e0aa30ba4c7ac649c87d1..7ad59e8a79b1b02325680c3795620828278e5fab 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,11 +1,11 @@
-<img alt="micro logo" src="./assets/micro-logo.svg" width="500px"/>
+<img alt="micro logo" src="./assets/micro-logo-drop.svg" width="500px"/>
 
 [![Build Status](https://travis-ci.org/zyedidia/micro.svg?branch=master)](https://travis-ci.org/zyedidia/micro)
 [![Go Report Card](https://goreportcard.com/badge/github.com/zyedidia/micro)](https://goreportcard.com/report/github.com/zyedidia/micro)
 [![Release](https://img.shields.io/github/release/zyedidia/micro.svg?label=Release)](https://github.com/zyedidia/micro/releases)
 [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/zyedidia/micro/blob/master/LICENSE)
 [![Join the chat at https://gitter.im/zyedidia/micro](https://badges.gitter.im/zyedidia/micro.svg)](https://gitter.im/zyedidia/micro?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
-[![Snap Status](https://build.snapcraft.io/badge/zyedidia/micro.svg)](https://build.snapcraft.io/user/zyedidia/micro)
+[![Snap Status](https://snapcraft.io/micro/badge.svg)](https://snapcraft.io/micro)
 
 **micro** is a terminal-based text editor that aims to be easy to use and intuitive, while also taking advantage of the capabilities
 of modern terminals. It comes as a single, batteries-included, static binary with no dependencies; you can download and use it right now!
@@ -17,7 +17,7 @@ Here is a picture of micro editing its source code.
 
 ![Screenshot](./assets/micro-solarized.png)
 
-To see more screenshots of micro, showcasing some of the default color schemes, see [here](http://zbyedidia.webfactional.com/micro/screenshots.html).
+To see more screenshots of micro, showcasing some of the default color schemes, see [here](https://micro-editor.github.io).
  
 You can also check out the website for Micro at https://micro-editor.github.io.
 
@@ -25,14 +25,14 @@ You can also check out the website for Micro at https://micro-editor.github.io.
 
 - [Features](#features)
 - [Installation](#installation)
-  - [Prebuilt binaries](#prebuilt-binaries)
+  - [Prebuilt binaries](#pre-built-binaries)
   - [Package Managers](#package-managers)
   - [Building from source](#building-from-source)
   - [Fully static binary](#fully-static-binary)
   - [macOS terminal](#macos-terminal)
   - [Linux clipboard support](#linux-clipboard-support)
   - [Colors and syntax highlighting](#colors-and-syntax-highlighting)
-  - [Plan9, Cygwin, Mingw](#plan9-cygwin-mingw)
+  - [Cygwin, Mingw, Plan9](#cygwin-mingw-plan9)
 - [Usage](#usage)
 - [Documentation and Help](#documentation-and-help)
 - [Contributing](#contributing)
@@ -44,7 +44,7 @@ You can also check out the website for Micro at https://micro-editor.github.io.
 - Easy to use and install.
 - No dependencies or external files are needed — just the binary you can download further down the page.
 - Multiple cursors.
-- Common keybindings (<kbd>Ctrl+S</kbd>, <kbd>Ctrl+C</kbd>, <kbd>Ctrl+V</kbd>, <kbd>Ctrl+Z</kbd>, …).
+- Common keybindings (<kbd>Ctrl-s</kbd>, <kbd>Ctrl-c</kbd>, <kbd>Ctrl-v</kbd>, <kbd>Ctrl-z</kbd>, …).
   - Keybindings can be rebound to your liking.
 - Sane defaults.
   - You shouldn't have to configure much out of the box (and it is extremely easy to configure).
@@ -53,13 +53,13 @@ You can also check out the website for Micro at https://micro-editor.github.io.
 - Extremely good mouse support.
   - This means mouse dragging to create a selection, double click to select by word, and triple click to select by line.
 - Cross-platform (it should work on all the platforms Go runs on).
-  - Note that while Windows is supported Mingw/Cygwin is not (see below)
+  - Note that while Windows is supported Mingw/Cygwin is not (see below).
 - Plugin system (plugins are written in Lua).
   - micro has a built-in plugin manager to automatically install, remove, and update plugins.
-- Built-in diff gutter
-- Simple autocompletion
+- Built-in diff gutter.
+- Simple autocompletion.
 - Persistent undo.
-- Automatic linting and error notifications
+- Automatic linting and error notifications.
 - Syntax highlighting for over [130 languages](runtime/syntax).
 - Color scheme support.
   - By default, micro comes with 16, 256, and true color themes.
@@ -76,64 +76,98 @@ To install micro, you can download a [prebuilt binary](https://github.com/zyedid
 
 If you want more information about ways to install micro, see this [wiki page](https://github.com/zyedidia/micro/wiki/Installing-Micro).
 
-### Prebuilt binaries
+Use `micro -version` to get the version information after installing. It is only guaranteed that you are installing the most recent
+stable version if you install from the prebuilt binaries, Homebrew, or Snap.
 
-All you need to install micro is one file, the binary itself. It's as simple as that!
+A desktop entry file and man page can be found in the [assets/packaging](https://github.com/zyedidia/micro/tree/master/assets/packaging) directory.
 
-Download the binary from the [releases](https://github.com/zyedidia/micro/releases) page.
+### Pre-built binaries
 
-On that page you'll see the nightly release, which contains binaries for micro which are built every night,
-and you'll see all the stable releases with the corresponding binaries.
+Pre-built binaries are distributed with [releases](https://github.com/zyedidia/micro/releases).
 
-Running `micro -version` will give you the version information.
+To uninstall micro, simply remove the binary, and the configuration directory at `~/.config/micro`.
 
-### Installation script
-
-There is a script which can install micro for you by downloading the latest prebuilt binary. You can find it at <https://getmic.ro>.
-
-Then you can easily install micro:
+#### Quick-install script
 
 ```bash
 curl https://getmic.ro | bash
 ```
 
-The script will install the micro binary to the current directory. See its [GitHub repository](https://github.com/benweissmann/getmic.ro) for more information.
+The script will place the micro binary in the current directory. From there, you can move it to a directory on your path of your choosing (e.g. `sudo mv micro /usr/bin`). See its [GitHub repository](https://github.com/benweissmann/getmic.ro) for more information.
 
-### Package managers
+#### Eget
 
-You can install micro using Homebrew on Mac:
+With [Eget](https://github.com/zyedidia/eget) installed, you can easily get a pre-built binary:
 
 ```
-brew install micro
+eget zyedidia/micro
 ```
 
-On Linux, you can install micro through [snap](https://snapcraft.io/docs/core/install)
+Use `--tag VERSION` to download a specific tagged version.
 
 ```
-snap install micro --classic
+eget --tag nightly zyedidia/micro # download the nightly version (compiled every day at midnight UTC)
+eget --tag v2.0.8 zyedidia/micro  # download version 2.0.8 rather than the latest release
 ```
 
-On Debian `unstable | testing | buster-backports` and Ubuntu `focal` (20.04), micro is available
-via `apt`:
+You can install `micro` by adding `--to /usr/local/bin` to the `eget` command, or move the binary manually to a directory on your `$PATH` after the download completes.
+
+See [Eget](https://github.com/zyedidia/eget) for more information.
+
+### Package managers
+
+You can install micro using Homebrew on Mac:
 
 ```
-sudo apt install micro
+brew install micro
 ```
 
-Micro is also available through other package managers on Linux such as AUR, Nix, and package managers
-for other operating systems:
+**Note for Mac:** All micro keybindings use the control or alt (option) key, not the command
+key. By default, macOS terminals do not forward alt key events. To fix this, please see
+the section on [macOS terminals](https://github.com/zyedidia/micro#macos-terminal) further below.
+
+On Linux, you can install micro through [snap](https://snapcraft.io/docs/core/install)
 
-* Windows: [Chocolatey](https://chocolatey.org) and [Scoop](https://github.com/lukesampson/scoop)
-    * `choco install micro`
-    * `scoop install micro`
-* OpenBSD: Available in the ports tree and also available as a binary package
-    * `pkd_add -v micro`
+```
+snap install micro --classic
+```
+
+Micro is also available through other package managers on Linux such dnf, AUR, Nix, and package managers
+for other operating systems. These packages are not guaranteed to be up-to-date.
+
+<!-- * `apt install micro` (Ubuntu 20.04 `focal`, and Debian `unstable | testing | buster-backports`). At the moment, this package (2.0.1-1) is outdated and has a known bug where debug mode is enabled. -->
+
+* Linux: Available in distro-specific package managers.
+    * `dnf install micro` (Fedora).
+    * `apt install micro` (Ubuntu and Debian).
+    * `pacman -S micro` (Arch Linux).
+    * `emerge app-editors/micro` (Gentoo).
+    * `eopkg install micro` (Solus).
+    * `pacstall -I micro` (Pacstall).
+    * See [wiki](https://github.com/zyedidia/micro/wiki/Installing-Micro) for details about CRUX, Termux.
+* Windows: [Chocolatey](https://chocolatey.org) and [Scoop](https://github.com/lukesampson/scoop).
+    * `choco install micro`.
+    * `scoop install micro`.
+* OpenBSD: Available in the ports tree and also available as a binary package.
+    * `pkd_add -v micro`.
+* NetBSD, macOS, Linux, Illumos, etc. with [pkgsrc](http://www.pkgsrc.org/)-current:
+    * `pkg_add micro`
+* macOS with [MacPorts](https://www.macports.org):
+    * `sudo port install micro`
+
+**Note for Linux desktop environments:**
+
+For interfacing with the local system clipboard, the following tools need to be installed:
+* For X11 `xclip` or `xsel`
+* For [Wayland](https://wayland.freedesktop.org/) `wl-clipboard`
+
+Without these tools installed, micro will use an internal clipboard for copy and paste, but it won't be accessible to external applications.
 
 ### Building from source
 
 If your operating system does not have a binary release, but does run Go, you can build from source.
 
-Make sure that you have Go version 1.11 or greater and Go modules are enabled.
+Make sure that you have Go version 1.16 or greater and Go modules are enabled.
 
 ```
 git clone https://github.com/zyedidia/micro
@@ -163,28 +197,16 @@ CGO_ENABLED=0 make build
 
 ### macOS terminal
 
-If you are using macOS, you should consider using [iTerm2](http://iterm2.com/) instead of the default terminal (Terminal.app). The iTerm2 terminal has much better mouse support as well as better handling of key events. For best keybinding behavior, choose `xterm defaults` under `Preferences->Profiles->Keys->Load Preset`. The newest versions also support true color.
+If you are using macOS, you should consider using [iTerm2](http://iterm2.com/) instead of the default terminal (Terminal.app). The iTerm2 terminal has much better mouse support as well as better handling of key events. For best keybinding behavior, choose `xterm defaults` under `Preferences->Profiles->Keys->Presets...`, and select `Esc+` for `Left Option Key` in the same menu. The newest versions also support true color.
 
 If you still insist on using the default Mac terminal, be sure to set `Use Option key as Meta key` under
 `Preferences->Profiles->Keyboard` to use <kbd>option</kbd> as <kbd>alt</kbd>.
 
-### Linux clipboard support
-
-On Linux, clipboard support requires the `xclip` or `xsel` commands to be installed.
-
-For Ubuntu:
-
-```sh
-sudo apt-get install xclip
-```
-
-If you don't have `xclip` or `xsel`, micro will use an internal clipboard for copy and paste, but it won't work with external applications.
-
 ### Colors and syntax highlighting
 
 If you open micro and it doesn't seem like syntax highlighting is working, this is probably because
 you are using a terminal which does not support 256 color mode. Try changing the color scheme to `simple`
-by pressing <kbd>Ctrl+E</kbd> in micro and typing `set colorscheme simple`.
+by pressing <kbd>Ctrl-e</kbd> in micro and typing `set colorscheme simple`.
 
 If you are using the default Ubuntu terminal, to enable 256 make sure your `TERM` variable is set
 to `xterm-256color`.
@@ -214,7 +236,7 @@ Once you have built the editor, start it by running `micro path/to/file.txt` or
 micro also supports creating buffers from `stdin`:
 
 ```sh
-ifconfig | micro
+ip a | micro
 ```
 
 You can move the cursor around with the arrow keys and mouse.
@@ -225,7 +247,7 @@ click to enable line selection.
 
 ## Documentation and Help
 
-micro has a built-in help system which you can access by pressing <kbd>Ctrl+E</kbd> and typing `help`. Additionally, you can
+micro has a built-in help system which you can access by pressing <kbd>Ctrl-e</kbd> and typing `help`. Additionally, you can
 view the help files here:
 
 - [main help](https://github.com/zyedidia/micro/tree/master/runtime/help/help.md)
@@ -238,6 +260,8 @@ view the help files here:
 I also recommend reading the [tutorial](https://github.com/zyedidia/micro/tree/master/runtime/help/tutorial.md) for
 a brief introduction to the more powerful configuration features micro offers.
 
+There is also an unofficial Discord, which you can join at https://discord.gg/nhWR6armnR.
+
 ## Contributing
 
 If you find any bugs, please report them! I am also happy to accept pull requests from anyone.
@@ -245,4 +269,6 @@ If you find any bugs, please report them! I am also happy to accept pull request
 You can use the [GitHub issue tracker](https://github.com/zyedidia/micro/issues)
 to report bugs, ask questions, or suggest new features.
 
-For a more informal setting to discuss the editor, you can join the [Gitter chat](https://gitter.im/zyedidia/micro).
+For a more informal setting to discuss the editor, you can join the [Gitter chat](https://gitter.im/zyedidia/micro) or the [Discord](https://discord.gg/nhWR6armnR). You can also use the [Discussions](https://github.com/zyedidia/micro/discussions) section on Github for a forum-like setting or for Q&A.
+
+Sometimes I am unresponsive, and I apologize! If that happens, please ping me.