3 ms·
> Vim is another prime example of extremely user unfriendly UI design I know it's going to come off the wrong way but as an editor, I would take plain vim over
by jpc0 3y ago
> Vim is another prime example of extremely user unfriendly UI design
I know it's going to come off the wrong way but as an editor, I would take plain vim over VSCode/VS/IntelliJ etc any day. Give me neovim as an option and I would be even happier.
I don't spend "a few metric tons of effort into fixing it", there's nothing wrong with a modal editor with key chords as the primary interface. It's not something you can "open and just use with 0 experience" but neither is your car or any other useful complex tool.
The fact that Vim & Emacs design hasn't really changed in decades yet they still have a very vast userbase should indicate something.
- eviks 3y ago> Give me neovim as an option and I would be even happier. That's fine, the issue here isn't someone's personal happiness, but good design (my 2nd sentence already covers this apparent contradiction) > there's nothing wrong with a modal editor with key chords as the primary interface. There is this whole list of UI design principles that tells you what's wrong > It's not something you can "open and just use with 0 experience" but neither is your car or any other useful complex tool. Yeah, that's not the issue, >0 experience doesn't require bad interface. Like, a car doesn't require pressing 6 buttons with no feedback to turn left, instead you have a wheel with immediate feedback (still requires experience to get the feel for the connect at different speeds) > The fact that Vim & Emacs design hasn't really changed in decades yet they still have a very vast userbase should indicate something. It doesn't indicate what you imply it does. But to answer in kind: the fact that both have multiple (in total) close to complete rewrites of the whole interface (full set of key bindings, commands, tabs, plugin languages, etc.) should indicate something, and not something positive about those interfaces
- graypegg 3y agoThe conversation we’re having is about consistency only. That’s why I said “they aren’t examples of exceptional UI”. They just respect the fact that people have become experts in using their tools.
- eviks 3y agoSorry about broadening the scope, but even in the narrow one Ribbon broke stability in a big way consistency when it was introduced, so that's not uniquely stable Vim is stable in a close-to-tautological "if plugins respect stability, they're stable", otherwise vim ecosystem has a lot of packages wildly departing from the default (it's definitely uniquely customizable, though)
- jpc0 3y agoNot to discredit, really I am actually interested and may even agree with you. Give me an example of a text editor that you concider to have good UI design.
- eviks 3y agoThat's not a very useful approach, there are big issues with all of the stock configs, though with enough customization you could pick various design patterns to make it good (but still you can't collect all of the best ones in one app unfortunately, and doing that is a lot of effort). Thinking from "first principles" like this list is more appropriate But a few examples: The "visual-first" approach of kakoune/helix is good UI, better than the "keep the whole sequence of ops in your head". Then emacs' which-key displaying a helpful menu of key chord continuation, but only if you're stuck (after a delay) is good UI design, better than Helix's constant popups. That's "informative feedback" right there Then any GUI's tab management approach where you can simply drag&drop tabs around is good. Though if you could "cut/copy&paste" that would be better as that would be consistent with how you manage files in a file manager Command palette like with fuzzy search like Sublime Text's is good UI design, that helps in reducing your memory load as you can find an action without remembering a shortcut (but then if you invoke it frequently enough you could remember the shortcut from the tip and use that instead) Then keymaps that prioritize convenience of key locations for most commonly used keys is good UI design (don't think any text editor has it by default, most prioritize English-only semi-abiguous keycap abbreviations) Etc. etc.
- jpc0 3y agoSee I can agree with all of this and ironically the exact changes I make to my neovim setup address quite a few of these. I'm going to look into helix again, I never gave it a good go since I didn't really see any benefit ovwe what I already have but maybe I was premature on it. I just wanted to make sure we aren't on two completely different trains of thought here where potentially your answer would have been "Visual Studio is the pinnacle"... Everything is a trade-off and for me personally I really don't want to have to touch my mouse to do common things, I'll take a slightly more intuitive UI where I need to memorize things to make doing the things I do the most often easy. Neovim (only slightly modified, telescope + lsp and completions effectively ) + tmux or a tab based terminal is where I am happy. I happened to spend 3-4 months in Visual Studio and fleet when I switched back to Windows (C++/golang ane some python/js) and when I eventually could dedicate the time to setup neovim correctly on Windows it felt like a breath of fresh air compared to that.