I often copy Mathematica code from websites (such as SO) to a notebook. The code usually gets pasted as a single input cell. I'm looking for a simple way to paste it as several input cells for convenient step-by-step evaluation.
For example,
a = 2;
f[x_] := x^a
Plot[f[x], {x,0,2}]
would ideally paste as two input cells. Manual formatting (i.e. the original newlines) should preferably also be preserved (this is not the case with default pasting).
Generally, if one selects all input cells (ALT-click), copies them into a text editor, then copies the resulting text back into a notebook, one should get a close equivalent of the original cells that were copied.
Or.... you can just Hit Ctrl+Shift+D at the point where you'd like to split your singe cell into 2 separate cells. Some times it's advantageous to group multiple operations into a single cell (or rather not split them to begin with). To undo such a split, select both cells (or more than 2 if you'd like) and click Ctrl+Shift+M to merge them into one.
This is a simple implementation (I'd also appreciate a code review, I'm not good in front end programming):
It breaks cells at empty lines. For this, we need to parse the expression first (what if an empty line appears in the middle of a long
Module
?). But parsing alone will cause several problems.Problems with this implementation: