ash logo ash

A modern terminal text editor

View the Project on GitHub akashnag/ash

Installation:

$ sudo pip3 install ash-editor

ash banner

GPL-2.0 License Downloads Size SLOC

ash is a simple and clean terminal-based text editor, that aims to be easy to use with modern key-bindings. It is capable of handling multiple files simultaneously and has a wide array of modern features. Here is a picture of ash editing this README file:

Screenshot

ash is written in Python 3.8 using the curses library.

Table of Contents


Features

The following is a list of features available in ash (Note: all these features are available in the nightly build but may not be available in the stable release):

Installation

Note: Instructions provided here are for Debian/Ubuntu based systems. For your distribution, you may need to issue different instructions to install the necessary packages.

Prerequisites

You need to install the following packages to download and run ash:

$ sudo apt install git
$ sudo apt install xclip
$ sudo apt install python3
$ sudo apt install python3-pip

Depending on your system, you may also need to install the following packages:

$ sudo apt install python3-devel

Installing ash

You can either directly install the latest stable release using:

$ sudo pip3 install ash-editor

Alternatively, you could download the latest stable/nightly release by clicking the Download button at the top-left corner of this page which will download a .tar.gz file. Once downloaded, extract it a folder, and once inside that folder (make sure it contains the file setup.py), open up your terminal and execute the following:

$ sudo pip3 install .

To run ash make sure you have :$HOME/.local/bin appended to your $PATH variable in the file ~/.bashrc. To execute ash, see the Usage section.

Uninstalling ash

To uninstall ash you can use:

$ sudo pip3 uninstall ash-editor

Prebuilt binaries

Since ash is still under development, prebuilt binaries are not yet available. You can use PyInstaller or similar tools to build one for your system.

Usage

Once you have downloaded the ash source code, and set it up as detailed above, you are ready to use it.

NOTES:

  1. If you have not updated your path variable, you must specify the full path to the ash binary.
  2. Your terminal resolution should be at least 102 (width) x 22 (height). Opening the editor in a lower resolution may unexpectedly crash the application. This requirement is necessary to properly display the dialog-boxes.
  3. It will take a while to start up ash for the first time, this is normal. From the second time onwards, it should start up faster.

To run ash:

$ ash path/to/file.txt

or, to open an empty buffer:

$ ash

or, to open a project (directory):

$ ash path/to/directory

See the Key Bindings for help on how to navigate in ash.

Contributing

If you find any bugs, please report them here.

You can also join the ash Discord Server for dicussions about the future development roadmap for ash.

If you are not into software development, you can still contribute financially. Financial contributions help me prioritize working on this project over others and helps me know that there is a real demand for this software.

Screenshots

Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot

License

Copyright © 2020-2022 Akash Nag. All rights reserved.

Licensed under the GPL-2.0 license.