When writing short shell scripts or short Python scripts, I often challenge myself by typing
$ cat > myscript.py
import sys,os,re
from glob import glob
# and basically attempt to write the whole script correctly at the first attempt,
# with vim being only the backup plan
Basically this cat > filename construct takes everything you type up until a Ctrl-D on a blank line, which signifies end-of-file