multi line cut/copy/paste
when editing scripts you can now use Shift-<up>/<down> to select multiple lines. when more than one line is selected the edit line (the bottom line) does not display anything, and to return to editing you can either press <Enter> or select a single line. pressing <up>/<down> will also make it go back to single line selection.
other fun things you can do with selected lines now:
-
Alt-<up>/<down> will shift selection up or down
-
Alt-<delete> will delete selection without copying it into the buffer
- toggling comments with
Alt-/ will work with multiple lines as well
all the old shortcuts for cut/copy/paste will now work with multi line selection, and you can still use them with single lines as well. however, there was a change in behaviour i had to make: when pasting, it will paste at the current position while shifting what was there down. previously, when you pasted something, it would paste into the edit line, so to commit the paste you had to additionally press <Enter> and it would replace the currently selected line with whatever you pasted. now it will shift the currently selected line down and it will insert the pasted line(s) above.
this seems like the most intuitive approach but i’ll be curious to hear how people find it in practice. you can somewhat replicate the old behaviour by copying, then selecting the line you want to replace, pressing Alt-<delete> and then pasting. i’m also considering adding this: when pasting a single line, and the edit line is empty, replicate the old behaviour (paste into the edit line but don’t commit). this way you can also replicate the old behaviour by copying a single line, then navigating to the line you want to replace, pressing Shift-<backspace> and pasting.
the buffer is shared between script editing / live screen / preset writing screen. i still need to add support for multi line selection to preset writing screen, once it’s done one thing you could do is use it to store bits of scripts!
finally, you can now navigate by words using Ctrl-<left>/<right>. i’m hoping these changes will be useful for live coding as well!