giuspen / cherrytree

cherrytree
https://www.giuspen.net/cherrytree/
Other
3.29k stars 457 forks source link

Multi-Cursor Support #2472

Open yorkshirelandscape opened 3 months ago

yorkshirelandscape commented 3 months ago

Is your feature request related to a problem? Please describe. In many modern text/code editors it is possible to spawn multiple cursors by hold a modifier key or two and pressing up or down. This is a tremendously useful feature and I am regularly bothered that CherryTree doesn't have it.

Describe the solution you'd like Say you have a bunch of tabbed data and you want to delete a while column from the middle. You can delete the same column line by line or, with multi-cursors, you position your cursor where the column starts in the first row and hold, for example, Cmd+Opt and press the down arrow until you reach the last line. Now you can press delete to start removing the column, hold shift and move the cursor left or right to highlight a whole column, type the same thing in each line, etc., etc. I'm sure you've seen it before.

Thanks for making such a wonderful program. I only just discovered it recently, but expect I'll get a lot of use out of it.

giuspen commented 3 months ago

Hey @yorkshirelandscape what you are asking is already there - you must keep Ctrl and Alt pressed and then select the column with the mouse

yorkshirelandscape commented 3 months ago

Hmmm... I'm having trouble doing it on MacOS. Is the shortcut supposed to be Ctrl+Opt or Cmd+Opt? I think I sort of got it to work once, but I haven't been able to reproduce it. Even then, would a purely keyboard-based implementation be possible? While I'm editing a document, I generally don't touch my mouse.

giuspen commented 3 months ago

I can improve this in future but that will take some time as other features are in the queue. It would be quicker to support using other keys on the Mac OS instead of Ctrl+Alt. Anyway can you provide an example where I can see the keyboard only column mode feature?

yorkshirelandscape commented 3 months ago

VSCode has a very nice implementation. I think they refer to it as "Spawn Multi-Cursor".