/moe

A command line based editor inspired by Vim. Written in Nim.

Primary LanguageNimGNU General Public License v3.0GPL-3.0

moe

A command line based editor inspired by Vim written in Nim.

This project's goals are easily customizable, high productivity, user friendly, and high performance editor.

moe

Features

  • Written in Nim

  • Adopt GapBuffer

  • UTF-8 and other encodings support (Incomplete)

  • Vim like mode (Normal, Insert, Visual, Replace, Ex, Filer)

  • Vim like keybinds

  • Infinite undo/redo

  • Syntax highlighting:

    • C
    • C++
    • C#
    • Haskell
    • Java
    • JavaScript
    • Markdown
    • Nim
    • Python
    • Rust
    • Shell languages:
      • Bash
    • TOML
    • YAML
  • Auto-complete

  • Configuration file (TOML)

  • Configuration mode

  • Live reload of the configuration file

  • Vertical/Horizontal split window

  • Tab line

  • Indentation lines

  • Auto close/delete paren

  • Simple auto indent

  • Incremental search

  • Auto save

  • Suggestions in ex mode

  • TrueColor (24bit color)

  • VSCode themes

  • Build on save

  • Multiple status line

  • QuickRun

  • Automatic backups

  • Highlight current words

  • Highlight/Delete trailing spaces

  • Vim like register

  • Git support

  • Syntax checker

    • Nim
  • Macros

  • Language Server Protocol (WIP)

Planned features

  • Supports regular expression and PEG

  • Supports EditorConfig

  • Window management

  • Snippets

  • Spell checker

  • Terminal

  • Select data structures

  • Edit files over ssh

  • Fuzzy search

  • Plugins

  • Supports huge file

  • Funny animation...

Install

We recommend Linux environments.

Requires

  • Nim 1.6.2 or higher

  • Ncurses 6.1 or higher

  • xclip v0.13 or higher (Option on GNU/Linux)

  • xsel (Option on GNU/Linux)

# Latest developmental state inside Github repository
nimble install moe@#head

Check detail

Usage

Documents (Latest)

Documents (Release)

The origin of the name

moe is a recursive acronym for "moe is an optimal editor".
And one more, it comes from the Japanese slang 萌え(moe).

Contributing, bug reports, feature request

Welcome❤

Community

Ask me anything!

License

GNU General Public License version 3