]> git.lizzy.rs Git - micro.git/blobdiff - README.md
Merge pull request #241 from handicraftsman/master
[micro.git] / README.md
index 7fd60388a51588bef77f69361d812675621e4da0..dce89e265aebd18170f89d426d4820d51f80f1ab 100644 (file)
--- a/README.md
+++ b/README.md
-# 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. It comes as one single, batteries-included, static binary with no dependencies, and you can download and use it right now.
 
-Micro is a command line text editor that aims to be easy to use and intuitive, while also taking advantage of the full capabilities
-of modern terminals.
+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
+* 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, and multiple cursors 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.
+
+If you want more information about ways to install micro, see this [wiki page](https://github.com/zyedidia/micro/wiki/Installing-Micro)
+
 ### Prebuilt binaries
 
-| Download |
-| --- |
-| [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!
 
-Once you have downloaded the file, you can install the runtime files by running `./install.sh`
-in the directory you downloaded. This will place all the runtime files in `~/.micro`.
+Download the binary from the [releases](https://github.com/zyedidia/micro/releases) page.
 
-To run the micro binary just run `./bin/micro` (you may want to place the binary on your path for ease of use).
+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`.
 
 ### Building from source
 
-Micro is made in Go so you must have Go installed on your system to build it, and make sure your `GOPATH` is set.
+If your operating system does not have binary, 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).
 
+```sh
+go get -u github.com/zyedidia/micro/...
 ```
-$ git clone https://github.com/zyedidia/micro
-$ cd micro
-$ make
+
+### Linux clipboard support
+
+On Linux, clipboard support requires 'xclip' or 'xsel' command to be installed.
+
+For Ubuntu:
+
+```sh
+sudo apt-get install xclip
 ```
 
-This will build micro and put the binary in the current directory. It will also install syntax highlighting files to `~/.micro/syntax`.
+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
 
-Alternatively you can use `make install` instead of `make` if you want the binary to be added to you `GOBIN` (make sure that it is set).
+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`.
+
+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
+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.
+
+### Plan9, NaCl, Cygwin
+
+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).
 
 # Usage
 
@@ -66,50 +109,26 @@ Once you have built the editor, simply start it by running `micro path/to/file.t
 
 Micro also supports creating buffers from `stdin`:
 
-```
-ifconfig | micro
+```sh
+ifconfig | micro
 ```
 
 You can move the cursor around with the arrow keys and mouse.
 
-#### Keybindings
+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.
 
-* 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-h:   Open help
-* Ctrl-u:   Half page up
-* Ctrl-d:   Half page down
-* PageUp:   Page up
-* PageDown: Page down
-* Ctrl-e:   Execute a command
+# Documentation and Help
 
-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.
+Micro has a built-in help system which you can access by pressing `CtrlE` and typing `help`. Additionally, you can
+view the help files online [here](https://github.com/zyedidia/micro/tree/master/runtime/help).
 
-# Configuration
-
-At this point, there isn't much you can configure.
-Micro has a few options which you can set:
-
-* colorscheme
-* tabsize
-* syntax
-
-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`.
-
-Any option you set in the editor will be saved to the file `~/.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.