Code Monkey home page Code Monkey logo

micro's Introduction

Micro

Build Status Go Report Card MIT 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.

Here is a picture of micro editing its source code.

Screenshot

Features

  • Easy to use
  • Common keybindings (ctrl-s, ctrl-c, ctrl-v, ctrl-z...)
  • Extremely good mouse support
  • Cross platform
  • Syntax highlighting (in over 75 languages!)
  • Colorscheme support
  • 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

If you'd like to see what has been implemented, and what I plan on implementing soon-ish, see the todo list

Installation

Homebrew

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.

Prebuilt binaries

Download
Mac OS X
64 bit Linux
32 bit Linux
Arm Linux

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.

To run the micro binary just run ./bin/micro (you may want to place the binary on your path for ease of use).

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.

$ git clone https://github.com/zyedidia/micro
$ cd micro
$ make

This will build micro and put the binary in the current directory. It will also install syntax highlighting files to ~/.micro/syntax.

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).

Usage

Once you have built the editor, simply start it by running micro path/to/file.txt or simply micro to open an empty buffer.

Micro also supports creating buffers from stdin:

$ ifconfig | micro

You can move the cursor around with the arrow keys and mouse.

Keybindings

  • 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

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.

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.

The syntax option can simply be on or off, so for example to turn syntax highlighting off, run set syntax off.

The colorscheme can be selected from all the files in the ~/.micro/colorschemes/ directory. Micro comes by default with three colorschemes:

  • 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.

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.

Contributing

If you find any bugs, please report them! I am also happy to accept pull requests from anyone.

micro's People

Contributors

zyedidia avatar

Watchers

James Cloos avatar Friðberg Smárason avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.