Macaulay 2 with emacs
The screenshot below shows a user entering Macaulay 2 commands into a file whose contents are displayed in the upper emacs buffer, sending each line, when ready, to Macaulay 2 in the lower buffer, with a single keystroke. One uses a filename of the form *.m2, splits the screen into two buffers with C-x 2, then positions the cursor on a line of text to send and presses the function key f11 to send it to Macaulay 2. Use C-x o to switch to the other buffer when needed. See using Macaulay 2 with emacs.
Macaulay 2 with TeXmacs
The screenshot below shows a user use TeXmacs as a graphical user interface to Macaulay 2. See using Macaulay 2 with TeXmacs.