This feature is so awesome that I wonder what’s it’s history? Which editors contributed to it’s evolution and when did that happen. Is this maybe available since decades in vim or emacs? The first time I saw and learned about it was on the illustration on the web site of Sublime Text.
History of simultaneous (multi caret) editing?
I first saw this feature in Ultraedit, something like 15 years ago, and it was my favourite editor because of that, until sublime came around.
I don’t know if any other apps had it before Sublime Text did, but certainly I hadn’t seen it anywhere else when I started building Sublime Text.
Edit: I would be very surprised if Ultra Edit had this before Sublime Text was released. As far as I can Google, it was introduced in version 21, circa 2014. The first public version of Sublime Text was released in 2008.
I remember multiple cursor editing in E-Texteditor, but dunno when they implemented it.
Speaking of E, it also had a really awesome feature: graphical file’s history with branching where you can go back and forward through the history of the single file, any chance to see it in ST too?
E Text Editor didn’t have multiple selections, just column selection with (I think) the ability to type on multiple lines at the same time: you couldn’t do anything other than type, such as cursor navigation.
There’s lots of editors with column selection, where you can select a rectangular region of text. Some let you do a column selection and type on each line, but I’m not aware of any editor prior to Sublime Text that lets you have actual independent selections, with independent navigation (where, e.g., you can navigate by words, and have each selection move a different amount), and functionality like Ctrl+D, Find All, Split Selection Into Lines, etc.
Before becoming a SublimeText huge fan many years ago the world of text editors used to be really boring, Personally I didn’t even consider any text editor for coding stuff and I’d just use directly all the specific IDEs for all the different programming languages I need to use… when a workmate had introduced me to ST with this multiline-caret editing I was totally in shock and it was a game changer to me, I think this is probably one of the most useful feature for coding (if not the most).
Even more, if a text editor hasn’t implemented this feature nowadays I’ll automatically won’t even consider it or test, said otherwise, this is the bare minimum a modern text editor should have.
Interesting thread btw… but I wonder, SublimeText has been inspired by a lot of things from the old good textmate (if not mistaken), so… at that time, hadn’t Textmate already implemented multiple cursors/selections?
TextMate had column selection, but didn’t get multiple selection until TextMate 2, long after Sublime Text was released
@jps Have you ever met Allan the creator of TextMate? I imagine you two would have quite the odyssey to talk about
Jon, if we are talking other editors, what is the thing other editors did so well that you said „damn, I wish I came up with this idea”?
Also, there are features that you’ve seen in other editors but you delayed their implementation because you thought they are not that big of a deal, but changing your mind afterwards?
@jps jEdit had multiple cursors and multi-selection very similar to Sublime, dating back to prior to Sublime (initial release was 1998; I don’t know off hand when multi-select was introduced), but the implementation was much clunkier and seldom used in practice due to how difficult it was to get it to work. When I came to Sublime, it was partially because I was one of the few jEdit users who did use noncontiguous multi-select/multi-cursor editing and Sublime was pretty much the only other editor which supported it.