3 ms·
The deal-breaker for me is the switch from "procedural" action->movement to "objective" selection->action. Just browsing the file feels dangerous, because when
by Jorengarenar 4y ago
The deal-breaker for me is the switch from "procedural" action->movement to "objective" selection->action.
Just browsing the file feels dangerous, because when you press an action key by mistake, you cannot just cancel it with Esc, you need to undo the change.
At the same time, seems like because of the above, some selections are "disabled", e.g. in Vim to delete to last line is just `dG` (and the cursor doesn't move), here you need to explicitly go into visual mode, jump to the end of file and then delete, what will bring you back to where you started.
- archseer 4y agoWell it's similar in vim: if I press `d` accidentally and I don't notice, then any subsequent movement commands will start to modify the file. It's a bit more explicit in Helix since you'll see a visual selection being made. Luckily in both editors you can undo the change :)
- e12e 4y agoI don't really disagree that there's a big difference to vim (if not I don't think I'd find interesting, at the same time it can be painful) - but for what it is worth - there's a "view" minor mode: https://docs.helix-editor.com/keymap.html#view-mode https://docs.helix-editor.com/keymap.html#view-mode As for select->act, I think this is (probably) worth it for the gain in discoverability (mainly from (any) select - then space for context menu/help). And while you're right that helix is much more visual select-to-end-of-file;delete - is just vged. Personally I still think there might be need for some "quicker" actions, like dG or dd an yy - but it's not obvious how they would fit with the "good parts" of helix. Maybe via a prefix-like command in normal-mode, eg: ",d" for "delete line"?
- pmontra 4y agoNon modal editors have a different type of danger. If you accidentally press a space at the beginning of a line in a Python file, you'll get an IndentationError when running it. If you press a d somewhere in any programming language you likely get a syntax error or a bad identifier. Of course you have to save to file before those errors become real. Apparently Helix autosaves when losing focus, which is quite dangerous IMHO: accidental mistakes and code left unfinished when switching to another window to do anything. I prefer to save when I want to save.
- djaouen 4y agoIirc, you can turn this behavior off with `editor.auto-save = false`.
- dpatterbee 4y agoAuto-saving is off by default