X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=README.md;h=0ffc431443e546d96c37578c98d61689f85ed91f;hb=8c0544c264c72622548ef2027a876292279363dc;hp=a88bfb4fb527aeba4fc113618860d04f0b6c0814;hpb=87108bfed8256270c5a7c7945371c40576c7ba84;p=micro.git diff --git a/README.md b/README.md index a88bfb4f..0ffc4314 100644 --- a/README.md +++ b/README.md @@ -1,152 +1,153 @@ -# Micro +# ![Micro](./assets/logo.png) [![Build Status](https://travis-ci.org/zyedidia/micro.svg?branch=master)](https://travis-ci.org/zyedidia/micro) -[![Go Report Card](http://goreportcard.com/badge/zyedidia/micro)](http://goreportcard.com/report/zyedidia/micro) +[![Go Report Card](https://goreportcard.com/badge/github.com/zyedidia/micro)](https://goreportcard.com/report/github.com/zyedidia/micro) +[![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) [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/zyedidia/micro/blob/master/LICENSE) -> Micro is very much a work in progress - 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. +of modern terminals. It comes as one single, batteries-included, static 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). Here is a picture of micro editing its source code. -![Screenshot](./screenshot.png) +![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). # Features -* Easy to use +* Easy to use and to install +* No dependencies or external files are needed -- just the binary you can download further down the page * Common keybindings (ctrl-s, ctrl-c, ctrl-v, ctrl-z...) + * 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) +* Splits and tabs * Extremely good mouse support -* Cross platform -* Syntax highlighting (in over [75 languages](runtime/syntax)!) + * 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 +* Plugin system (plugins are written in Lua) +* Persistent undo +* Automatic linting and error notifications +* Syntax highlighting (for over [75 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) -* Search and replace -* Undo and redo -* Unicode support * Copy and paste with the system clipboard * Small and simple -* Configurable +* Easily configurable +* Macros +* Common editor things such as undo/redo, line numbers, unicode support... -If you'd like to see what has been implemented, and what I plan on implementing soon-ish, see the [todo list](todolist.md) +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 -### Homebrew +To install micro, you can download a [prebuilt binary](https://github.com/zyedidia/micro/releases), or you can build it from source. -If you are on Mac, you can install micro using Homebrew: - -``` -brew tap zyedidia/micro -brew install --devel micro -``` - -Micro is devel-only for now because there is no released version. +If you want more information about ways to install micro, see this [wiki page](https://github.com/zyedidia/micro/wiki/Installing-Micro) ### Prebuilt binaries -| Nightly Binaries | -| --- | -| [Mac OS X](http://zbyedidia.webfactional.com/micro/binaries/micro-osx.tar.gz) | -| [64 bit Linux](http://zbyedidia.webfactional.com/micro/binaries/micro-linux64.tar.gz) | -| [32 bit Linux](http://zbyedidia.webfactional.com/micro/binaries/micro-linux32.tar.gz) | -| [Arm Linux](http://zbyedidia.webfactional.com/micro/binaries/micro-linux-arm.tar.gz) | +All you need to install micro is one file, the binary itself. It's as simple as that! -To run the micro binary just run `./bin/micro` (you may want to place the binary on your path for ease of use). +Download the binary from the [releases](https://github.com/zyedidia/micro/releases) page. -### Building from source +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. + +If you'd like to see more information after installing micro, run `micro -version`. -Micro is made in Go so you must have Go installed on your system to build it. +### Homebrew -You can simply `go get` it. +You can also install micro using Homebrew on Mac: ``` -go get -u github.com/zyedidia/micro/cmd/micro +$ brew tap zyedidia/micro +$ brew install micro ``` -### Clipboard support +### Building from source -On Linux, clipboard support requires 'xclip' or 'xsel' command to be installed. For Ubuntu: +If your operating system does not have a binary release, but does run Go, you can build from source. -``` -$ sudo apt-get install xclip +Make sure that you have Go version 1.5 or greater (Go 1.4 will work if your version supports CGO). + +```sh +go get -u github.com/zyedidia/micro/... ``` -# Usage +### Linux clipboard support -Once you have built the editor, simply start it by running `micro path/to/file.txt` or simply `micro` to open an empty buffer. +On Linux, clipboard support requires 'xclip' or 'xsel' command to be installed. -Micro also supports creating buffers from `stdin`: +For Ubuntu: -``` -$ ifconfig | micro +```sh +sudo apt-get install xclip ``` -You can move the cursor around with the arrow keys and mouse. +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. -#### Keybindings +### Colors and syntax highlighting -* Ctrl-q: Quit -* Ctrl-s: Save -* Ctrl-o: Open file -* Ctrl-z: Undo -* Ctrl-y: Redo -* Ctrl-f: Find -* Ctrl-n: Find next -* Ctrl-p: Find previous -* Ctrl-a: Select all -* Ctrl-c: Copy -* Ctrl-x: Cut -* Ctrl-v: Paste -* Ctrl-g: Open help -* Ctrl-u: Half page up -* Ctrl-d: Half page down -* PageUp: Page up -* PageDown: Page down -* Home: Go to beginning -* End: Go to end -* Ctrl-e: Execute a command +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` +by running `> set colorscheme simple`. -You can also use the mouse to manipulate the text. Simply clicking and dragging will select text. You can also double click -to enable word selection, and triple click to enable line selection. +If you are using the default ubuntu terminal, to enable 256 make sure your `TERM` variable is set +to `xterm-256color`. -You can also run `$ micro -version` to get the version number. Since there is no release, this just gives you the -commit hash. The version is unknown if you built with `go get`, instead use `make install` or `make` to get a binary -with a version number defined. +Many of the 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. -# Configuration +### Plan9, NaCl, Cygwin -Configuration directory: +Please note that 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). -Micro uses the `$XDG_CONFIG_HOME/micro` as the configuration directory. As per the XDG spec, -if `$XDG_CONFIG_HOME` is not set, `~/.config/micro` is used as the config directory. +# Usage -At this point, there isn't much you can configure. -Micro has a few options which you can set: +Once you have built the editor, simply start it by running `micro path/to/file.txt` or simply `micro` to open an empty buffer. -* colorscheme -* tabsize -* syntax -* tabsToSpaces +Micro also supports creating buffers from `stdin`: -To set an option run Ctrl-e to execute a command, and type `set option value`, so to set the tabsize to 8 it would be `set tabsize 8`. The default is 4. +```sh +ifconfig | micro +``` -The syntax option can simply be on or off, so for example to turn syntax highlighting off, run `set syntax off`. The default is on. +You can move the cursor around with the arrow keys and mouse. -The tabsToSpaces option is on or off. It specifies whether to use spaces instead of tabs or not. The default is off. +You can also use the mouse to manipulate the text. Simply clicking and dragging +will select text. You can also double click to enable word selection, and triple +click to enable line selection. -The colorscheme can be selected from all the files in the `~/.config/micro/colorschemes/` directory. Micro comes by default with three colorschemes: +# Documentation and Help -* default: this is the default colorscheme. -* solarized: this is the solarized colorscheme (used in the screenshot). You should have the solarized color palette in your terminal to use it. -* solarized-tc: this is the solarized colorscheme for true color, just make sure your terminal supports true color before using it and that the `MICRO_TRUECOLOR` environment variable is set to 1 before starting micro. +Micro has a built-in help system which you can access by pressing `CtrlE` and typing `help`. Additionally, you can +view the help files here: -These are embedded in the Go binary, but to see their source code, look [here](./runtime/colorschemes) +* [main help](https://github.com/zyedidia/micro/tree/master/runtime/help/help.md) +* [keybindings](https://github.com/zyedidia/micro/tree/master/runtime/help/keybindings.md) +* [commands](https://github.com/zyedidia/micro/tree/master/runtime/help/commands.md) +* [colors](https://github.com/zyedidia/micro/tree/master/runtime/help/colors.md) +* [options](https://github.com/zyedidia/micro/tree/master/runtime/help/options.md) +* [plugins](https://github.com/zyedidia/micro/tree/master/runtime/help/plugins.md) -Any option you set in the editor will be saved to the file `~/.config/micro/settings.json` so, in effect, your configuration file will be created -for you. If you'd like to take your configuration with you to another machine, simply copy the `settings.json` to the other machine. +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. # Contributing If you find any bugs, please report them! I am also happy to accept pull requests from anyone. + +You can use the Github issue tracker 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).