My AE/ED Line-Based Text Editor Cheat Sheet
I’ve been working with a database called Unidata for almost 3 years now. I refer to it as the “O.G. NoSQL” database because it is the oldest NoSQL database that I know of. It’s referred to as a Multi-Valued Database and it became popular when it was released as part of the Pick Operating System
I don’t know about the prevalence of these types of databases in the world, but I imagine there are enough for there to be a high demand for consultants who know their way around them.
Multi-Valued Databases fascinate me. There has been a steep learning curve, though. Maybe the steepest of all databases I’ve ever worked with. A shell is the quickest and easiest way to navigate the data. Applications are built with a language called UniBASIC, and the GUI is built right into the same shell. The structure of the data is similar to JSON, but instead of curly-braces and semicolons - special unicode characters mark the separation of values inside records. The records are similar to MongoDB “documents”.
I wanted to share a cheat sheet that I created for the AE (Advanced Editor) that comes with the Unidata version that I work with. I made this before I found out about ED, which is what some Unix people would recognize as the standard text editor for Unix (per Rob Pike)
Ed is the standard text editor. http://t.co/jrem5nUzXR
— Rob Pike (@rob_pike) July 16, 2014
So here’s my cheatsheet for AE, although a lot of this applies to ED as well. Hope it helps someone.
AE DICT **FILE** (PROMPTED FOR FILE NAME (AKA "TABLE NAME"))
AE DICT **FILE** **RECORD**
AE **FILE** **RECORD**
P = DISPLAY NEXT SCREEN FULL OF INFO
P## = SHOW ## OF LINES
ENTER TO GET THE NEXT LINE
I = INSERT MODE
ENTER ON AN EMPTY LINE QUITS INSERT MODE
` ON AN EMPTY LINE INSERTS EMPTY LINE
T = TOP OF THE RECORD
B = BOTTOM OF THE RECORD
+## ADVANCE ## OF LINES
L "SOMETEXT" = GO TO THE FIRST LINE CONTAINING SOMETEXT
L = REPEAT LAST SEARCH
L##/text = SEARCH WITHIN THE NEXT ## LINES
C = CHANGE
A = APPEND
D = DELETE
D## = DELETE ## OF LINES
R = REPLACE WITH text
R<SPACE> THEN PRESS ENTER WILL CLEAR THE LINE
FI = FILE AND SAVE THE RECORD IN THE FILE
Q = QUITE WITHOUT SAVING
SAVE recname = SAVE COPY OF THE RECORD
SAVE filename recname = SAVE COPY OF RECORD IN FILE
> = MARK BEGINNING OF A BLOCK
< = MARK END OF BLOCK
COPY = MAKE A COPY OF A BLOCK
DROP = DELETE CURRENT BLOCK
EV = EDIT MV AS IF EACH VALUE WAS A SEPARATE LINE
ESV = EDIT MS LINE AS IF EACH SUBVALUE WAS A SEPARATE LINE
CHOOSE Q OR FI TO SAVE CHANGES TO THE MV OR MS RECORD IN EV OR ESV MODE
OOPS = UNDO
^ = TURN ON OR OFF PRINTABLE CHARACTERS
J = JOIN THE CURRENT LINE WITH THE NEXT