0
0
Fork 0
Chalk is a line based text editor for the terminal. In use at colorfield.space https://sloum.colorfield.space/docs/chalk/
Go to file
sloum 43af3925b6 Adds license 2020-04-19 21:50:04 -07:00
.gitignore Started splitting up the program and normalizing some readline features 2020-04-16 22:13:27 -07:00
LICENSE Adds license 2020-04-19 21:50:04 -07:00
README.md Adds license 2020-04-19 21:50:04 -07:00
chalk Adds license 2020-04-19 21:50:04 -07:00

README.md

chalk - a line based text editor

Chalk is a line based text editor for the terminal. It was originally an integrated part of colorsh, a custom shell used for ssh accounts at Colorfield Space. This repo adds features and develops it into a more full and usable application.

I tend to think about chalk as a simpler ed, similar to how some people use nano as simpler terminal editor than vi. It is far less powerful than ed, but functions in a similar line by line style with easy commands that walk you through the actions you are wanting to perform.

Requirements

Requires Python 3.6+. No other Python dependencies, standard library only. Copy the file chalk to anywhere on your system path and make sure it is executable. Then just run chalk [path to file].

Commands

Commands are entered as the only text on their row. Enter the command and press enter.

Command Action
!? Print the command list
!g Print the GUIDE (ruler)
!d DISPLAY the whole file
!v VIEW a portion of the file
!# EDIT a line (eg. "!23" to edit line 23)
!i INSERT blank rows (will prompt for location and count)
!x CUT rows (will prompt for range and then add the cut data to the paste buffer)
!c COPY rows to the paste buffer (will prompt for range)
!p PASTE from the paste buffer (will prompt for location)
!b Print the contents of the paste BUFFER
!s SAVE any unsaved changes to the document
!a Save AS (will prompt for new path)
. Quit chalk (will prompt for save if there are unsaved changes)

Notes

This application uses the python readline bindings to allow for hotkey line navigation (ex. Ctrl-a to go to the beginning of the line).