A modern terminal text editor
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:
ash is written in Python 3.8 using the curses library.
The following is a list of features available in ash:
xterm-256
). Monochrome terminals are also partially supported.*.pyx
files, which may increase load time (Ignore the warnings during compilation)ash is primarily targetted to Linux. This version of ash has only been tested on Ubuntu 20.04 with Python 3.8.2 (64-bit)
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.
You need certain packages and Python 3 itself to run ash on your system, as there are no prebuilt binaries available yet.
$ 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
You have multiple options here:
Execute the following instructions to install from PyPi:
$ sudo pip3 install ash-editor
The above command downloads ash and installs it locally on your system. To be able to invoke ash from anywhere, see the Setting Paths section.
Note: the stable release may not contain all features listed above
Go to the ash Website and download the latest stable release. Then extract the downloaded tar-ball into a folder and once inside that folder, open up your terminal from there and execute:
$ sudo pip3 install .
The nightly builds contains all the latest features of ash. Go to the ash Website and download the latest nightly release. Then extract the downloaded tar-ball into a folder and once inside that folder, open up your terminal from there and execute:
$ sudo pip3 install .
To build from source, issue the following instructions:
$ sudo apt install git
$ cd ~
$ git clone --depth 1 -b master https://github.com/akashnag/ash.git
$ cd ash
$ python3 setup.py sdist
(Though you can install it directly from here, it is not recommended) You will find the new tar-ball created under dist
directory, from where you can proceed as before by first copying the tarball into a new directory, extracting it, and then installing it.
To run ash make sure you have :$HOME/.local/bin
appended to your $PATH variable in the file ~/.bashrc
(If you are using bash
as your shell. If not open your corresponding .rc file). To execute ash, see the Usage section.
To uninstall ash you can use:
$ sudo pip3 uninstall ash-editor
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.
Once you have downloaded the ash source code, and set it up as detailed above, you are ready to use it.
NOTES:
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.
If you find any bugs, please report them. I am also happy to accept pull requests from anyone for either bug-fixes, performance improvements, or for implementing the not-yet-implemented features listed above. Please consider contributing towards new features only when the features listed above have been fully implemented. For more information on what features to implement and the project structure, see the Contribution Guidelines
You can use the GitHub issue tracker to report bugs, ask questions, or suggest new features. You can include the log if that is relevant, which can be found in ~/.config/ash-editor/log.txt
.
For discussions related to the development roadmap and the ash editor in general, you can join the ash Discord Server.
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.
Copyright © Akash Nag. All rights reserved.
Licensed under the GPL-2.0 license.