In SQLCMD, if you type ed, it will invoke a text editor and put the last command you run in the editor buffer. The default editor is Edit, a command line editor of DOS.
This behavior is very similar to Oracle Sql Plus, by the way. The difference is that in Sql Plus, you can use / to run the command after you finished editing, whereas in SQLCMD you still need to type go for it, well, to go;)
Anyway, the really neat thing is you can change the default editor to whatever you like. I know many DBAs / developers have their own preferred editors, like Edit Plus, TextPad, or even plain old Notepad. This is exciting because if you work in your favorite editor, you feel you are in control and your productivity increases. For me, I have changed the default editor to VIM, a clone of VI. VI is my favorite editor.
This is how you do it:
1. Open a DOS prompt;
2. Type set sqlcmdeditor=vim, or notepad or whatever;
3. Go to sqlcmd, enter and execute a sql statement, then type ed;
4. Viola, your editor of choice opens. Edit away, after you are done, save and close;
I am very happy to find this feature. It is a real productivity enhancer.