X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=README.md;h=d1c7548f4a51c7b2fc9837a4b635b463a5be82b8;hb=185b8de17b8812a9990f38beb30858f5bfb4fedc;hp=5ab77fcbe3c734b5e71365b83f32155551bdfdaa;hpb=f199c152690a609be89803dffb76d5aba044761c;p=micro.git diff --git a/README.md b/README.md index 5ab77fcb..d1c7548f 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ [![Snap Status](https://build.snapcraft.io/badge/zyedidia/micro.svg)](https://build.snapcraft.io/user/zyedidia/micro) Micro is a terminal-based text editor that aims to be easy to use and intuitive, while also taking advantage of the full capabilities -of modern terminals. It comes as one single, batteries-included, static binary with no dependencies, and you can download and use it right now. +of modern terminals. It comes as one single batteries-included binary with no dependencies, and you can download and use it right now. As the name indicates, micro aims to be somewhat of a successor to the nano editor by being easy to install and use in a pinch, but micro also aims to be enjoyable to use full time, whether you work in the terminal because you prefer it (like me), or because you need to (over ssh). @@ -16,10 +16,26 @@ Here is a picture of micro editing its source code. ![Screenshot](./assets/micro-solarized.png) -To see more screenshots of micro, showcasing all of the default colorschemes, see [here](http://zbyedidia.webfactional.com/micro/screenshots.html). - +To see more screenshots of micro, showcasing some of the default colorschemes, see [here](http://zbyedidia.webfactional.com/micro/screenshots.html). + You can also check out the website for Micro at https://micro-editor.github.io. +# Table of Contents +- [Features](#features) +- [Installation](#installation) + - [Prebuilt binaries](#prebuilt-binaries) + - [Package Managers](#package-managers) + - [Building from source](#building-from-source) + - [MacOS terminal](#macos-terminal) + - [Linux clipboard support](#linux-clipboard-support) + - [Colors and syntax highlighting](#colors-and-syntax-highlighting) + - [Plan9, Cygwin, Mingw](#plan9-cygwin-mingw) +- [Usage](#usage) +- [Documentation and Help](#documentation-and-help) +- [Contributing](#contributing) + +- - - + # Features * Easy to use and to install @@ -30,28 +46,26 @@ You can also check out the website for Micro at https://micro-editor.github.io. * Sane defaults * You shouldn't have to configure much out of the box (and it is extremely easy to configure) * Splits and tabs +* Nano-like menu to help you remember the keybindings * 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, there are still some bugs that need to be worked out + * 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 all your plugins * Persistent undo * Automatic linting and error notifications -* Syntax highlighting (for over [90 languages](runtime/syntax)!) +* Syntax highlighting (for over [120 languages](runtime/syntax)!) * Colorscheme support * By default, micro comes with 16, 256, and true color themes. -* True color support (set the `MICRO_TRUECOLOR` env variable to 1 to enable it) -* Snippets - * The snippet plugin can be installed with `> plugin install snippets` -* Copy and paste with the system clipboard +* True color support (set the `MICRO_TRUECOLOR` environment variable to 1 to enable it) +* Copy and paste with the system clipboard (requires xclip/xsel on Linux) +* Built-in diff gutter +* Simple autocompletion * Small and simple * Easily configurable * Macros * Common editor things such as undo/redo, line numbers, Unicode support, softwrap... -Although not yet implemented, I hope to add more features such as autocompletion ([#174](https://github.com/zyedidia/micro/issues/174)), and multiple cursors ([#5](https://github.com/zyedidia/micro/issues/5)) in the future. - # Installation To install micro, you can download a [prebuilt binary](https://github.com/zyedidia/micro/releases), or you can build it from source. @@ -69,7 +83,19 @@ and you'll see all the stable releases with the corresponding binaries. If you'd like to see more information after installing micro, run `micro -version`. -### Package Managers +### Installation script + +There is a great script which can install micro for you by downloading the latest prebuilt binary. You can find it at https://getmic.ro (the github repo for it is [here](https://github.com/benweissmann/getmic.ro)). + +Then you can easily install micro: + + $ curl https://getmic.ro | bash + +The script will install the micro binary to the current directory. + +See the [Github page](https://github.com/benweissmann/getmic.ro) for more information. + +### Package managers You can install micro using Homebrew on Mac: @@ -77,45 +103,50 @@ You can install micro using Homebrew on Mac: brew install micro ``` -On Windows, you can install micro through [Chocolatey](https://chocolatey.org/) or [Scoop](https://github.com/lukesampson/scoop): +On Debian Linux, you can install micro through [snap](https://snapcraft.io/docs/core/install) ``` -choco install micro +snap install micro --classic ``` -or - -``` -scoop install micro -``` +Homebrew and snap are the two "officially" maintained package manager distributions of micro. -On Linux, you can install micro through [snap](https://snapcraft.io/docs/core/install) +Micro is also available through other package managers on Linux such as AUR, Nix, and package managers +for other operating systems: -``` -snap install micro --edge --classic -``` +* 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` ### 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.5 or greater (Go 1.4 will work if your version supports CGO) and that your `GOPATH` env variable is set (I recommand setting it to `~/go` if you don't have one). +Make sure that you have Go version 1.11 or greater and Go modules are enabled. ``` -go get -d github.com/zyedidia/micro/cmd/micro -cd $GOPATH/src/github.com/zyedidia/micro -make install +git clone https://github.com/zyedidia/micro +cd micro +make build +sudo mv micro /usr/local/bin # optional ``` -The binary will then be installed to `$GOPATH/bin` (or your `$GOBIN`). +The binary will be placed in the current directory and can be moved to +anywhere you like (for example `/usr/local/bin`). -Please make sure that when you are working with micro's code, you are working on your `GOPATH`. +The command `make install` will install the binary to `$GOPATH/bin` or `$GOBIN`. -You can install directly with `go get` (`go get -u github.com/zyedidia/micro/cmd/micro`) but this isn't recommended because it doesn't build micro with version information which is useful for the plugin manager. +You can install directly with `go get` (`go get github.com/zyedidia/micro/cmd/micro`) but this isn't +recommended because it doesn't build micro with version information, and doesn't disable debug mode. ### MacOS terminal -If you are using MacOS, you should consider using [iTerm2](http://iterm2.com/) instead of the default Mac terminal. The iTerm2 terminal has much better mouse support as well as better handling of key events. The newest versions also support true color. +If you are using MacOS, you should consider using [iTerm2](http://iterm2.com/) instead of the default Mac terminal. 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 still insist on using the default Mac terminal, be sure to set `Use Option key as Meta key` under +`Preferences->Profiles->Keyboard` to use option as alt. ### Linux clipboard support @@ -132,22 +163,25 @@ If you don't have xclip or xsel, micro will use an internal clipboard for copy a ### 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. Try changing the colorscheme to `simple` +you are using a terminal which does not support 256 colors. Try changing the colorscheme to `simple` by pressing CtrlE 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`. -Many of the Windows terminals don't support more than 16 colors, which means +Many older Windows terminals don't support more than 16 colors, which means that micro's default colorscheme won't look very good. You can either set the colorscheme to `simple`, or download a better terminal emulator, like -mintty. +mintty. However, if you are on a recent version of Windows 10, the default +`cmd.exe` should do fine. + +### Plan9, Cygwin, Mingw -### Plan9, NaCl, Cygwin +These platforms are unfortunately not supported. -Please note that micro uses the amazing [tcell library](https://github.com/gdamore/tcell), but this +Micro uses the amazing [tcell library](https://github.com/gdamore/tcell), but this means that micro is restricted to the platforms tcell supports. As a result, micro does not support -Plan9, NaCl, and Cygwin (although this may change in the future). +Plan9, and Cygwin (although this may change in the future). Micro also doesn't support NaCl (but NaCl is deprecated anyways). # Usage