June 21, 2020: Note that this is a python2, gtk2 program using libraries no longer supported by Linux distributions such as Ubuntu version 20.04 and higher. Sad to sunset this tools that has served me for many years. Happily, other editors have caught up in the meantime, with many supporting autosave, and multi-cursors an acceptable replacement to yaedit's prefix editing feature. Widespread adoption of git I think has also driven most editors to implement automatic loading of changes to the underlying file.
May 15, 2012
You will need to Python 2, PyGTK, and python bindings of either gtksourceview or gtksourceview2.
Yaedit can teach you most of its available keyboard shortcuts by itself. Here are the ones that it currently can't:
Ctrl-Z Ctrl-Shift-Z - undo/redo
Ctrl-X Ctrl-C Ctrl-V - cut/copy/paste
Enter (from within line/find/prefix entries) - return to editing
Enter (from within open entry) - open file
- Save. Every edit is saved immediately. Changes to the file by other programs are loaded automatically.
- An option to set the bloody tab size and screw up your indenting. Tabs are 8 spaces, get over it.
- A jump-to-line dialog box.
- A find dialog box.
- In fact, does not have any dialog boxes.
- Menus or ugly icons that take up precious screen real-estate.
- Auto-insert boilerplate text. If you find yourself needing this feature, then have a nickel kid, go get yourself a real language.
- Editable current line number display.
- Selection prefix editing to easily indent, unindent, comment out blocks.
- Tabbed editing. Tabs are down the left hand side, so there is room for lots of open files. (This does take a little more space than having them at the top. I ameliorate this somewhat by sticking what controls there are below the tabs.)
Send me patches, I reserve the right to reject them. ;-)
This editor is my testbed for UI idioms that have both the learnability of GUI and the efficiency of older idioms.
- A way to shrink the font size of indentation whitespace (like changing the tab size, only not broken)
- Python console
- Shell filtering
- "Deep syntax understanding" featurebundle
- Syntax checking
- Color variables differently according to whether they are local, global, parameters, outer context of an inline function