In general, I think pasting with multiple cursors is far too fussy and has very weird behavior in the edge cases.
For example, given this template to paste into:
Something *array =
{
{"", },
{"", },
{"", },
{"", },
{"", },
{"", },
{"", },
};
Normally what I would do when creating a block of code like that is guess that I need about 5 lines, then I add a few extra just to be sure.
Then, I'd go select the text to paste I will be punished harshly for getting it wrong.
For example, I use a multiple cursors to select text from 3 lines, and paste into 4 lines, I get:
Something *array =
{
{"activate_bookmarks
activate_exceptions
activate_files_files", },
{"activate_bookmarks
activate_exceptions
activate_files_files", },
{"activate_bookmarks
activate_exceptions
activate_files_files", },
{"activate_bookmarks
activate_exceptions
activate_files_files", },
{"", },
{"", },
{"", },
};
When, what I'd really be happy with is:
Something *array =
{
{"activate_bookmarks", },
{"activate_exceptions", },
{"activate_files_files", },
{"", },
{"", },
{"", },
{"", },
};I don't understand the logic of multiplying the paste in these multiple cursor cases -- I've never once found a use for this - its strictly annoying.
Vertical block selection to multiple cursors seems to always be wrong. For example, I copy a 3x20 block, then attempt to paste into 3 cursors, and I get:
Something *array =
{
{"activate_bookmarks ", },
{"activate_bookmarks activate_exceptions ", },
{"activate_bookmarks activate_exceptions activate_files_files", },
{"activate_exceptions activate_files_files", },
{"activate_files_files", },
{"", },
{"", },
};
This is really bizarre.
Summary
- vertical block selection to single cursor: Works fine - but PasteSpecial would make it better.
- vertical block selection to multiple cursors: Weird multiplication results - not useful. IMO, a bug.
- multiple cursors selection to multiple cursors: Only works correctly when the source and dest have the same number of cursors.
- multiple cursors selection to vertical block: Pastes the first line of text onto each line of the selection. Seems like it should paste just the same as if the clipboard was a vertical block selection.
- vertical block selection to vertical block: Works well, except in the case where the source has more lines that the destination. In this case, it would be useful to only paste as many lines of text as there are selected in the destination.