[WIP] add basic/incomplete blockwise selection handling#658
Conversation
|
Just curious, doesn't it make sense for Atom core to implement blockwise selection first? It looks like your technique will handle the text pretty well all on its own, but the visual appearance will be pretty difficult to get right. (pure speculation, tell me if I'm wrong). That said, since blockwise select isn't on Atom's 1.0 punchlist (!!), maybe it does make sense just to do it here. It's an absolute requriement for any serious text editor. |
|
@bronson Yes, it does. First, atom/text-buffer will need to support out-of-bounds selections. (beyond line endings) After that, it should be easy to add the visual changes to atom proper. I opened an issue to begin discussing this a while back, but haven't heard anything. (atom/text-buffer#59) I've been swamped, and haven't come back to this, but I will hopefully clean up this version and fix some kinks this week. I think having something in place is a good first start. After that, perhaps I can take a whack at adding out-of-bounds support to text-buffer and see what people think. |
@pthrasher cursors have the notion of a 'goal column', similar to other text editors, such that when you move the cursor vertically from a long line onto a shorter one and back again, it will return to the original column. You shouldn't have to do anything special to make this work; the normal cursor movement commands should take care of it. EDIT: I think calling |
|
There's this too: https://atom.io/packages/vim-mode-visual-block No yank or paste yet. |
|
As stated in the README, this package is no longer maintained and is deprecated. We recommend that people use the vim-mode-plus package instead. Because of this, we are archiving this repository and closing all issues and pull requests. Thanks very much for your support and contributions! |
This is a work-in-progress. I'm hoping to get some feedback / collaboration.
This is just my first pass at getting blockwise selection to work.
This implementation fails when down-arrowing into an empty line, and also, currently there's not a simple way to track the cursor when moving up and down since atom doesn't let you put the cursor places where there's no text (afaik).
#645
#468
atom/atom#2306