The traditional solution here is emacs or vim. Org mode is especially boss, I hear. ?

//