3 ms·
> I am not convinced that it is possible to come up with a generic sane set of defaults for all apps in a way that would solve the problem of VIM being fundamen
by throw10920 4y ago
> I am not convinced that it is possible to come up with a generic sane set of defaults for all apps in a way that would solve the problem of VIM being fundamentally different.
That's not a problem that needs to be solved. "Generic sane set of defaults" excludes vim as an editor by definition.
In terms of which editor should be used by default, vim should not be the default[1].
In terms of keybinding defaults for vim, because vim's modal editing model is so unique, it's totally fine for a universal keybinding system to not trivially integrate with it - just like it's totally fine for libc to not contain every single variant of a memory allocation or string copy function. No abstraction is universal.
> for all apps
Again, a red herring - there's no reason why any programming system has to work "for all the things".
> My point was that "for the majority" is not necessarily the right answer when your system (Linux) is used by a minority.
This is such a vague statement as to be meaningless. How, specifically, are you claiming that Linux users are different from Windows/MacOS users that a different system is needed?
Moreover, given how obviously the design strategy of "sane consistent (but configurable) defaults" fits in to human cognition, I'm very curious as to why you think it somehow doesn't apply to Linux users. If your answer is "they're more technical" - that's irrelevant. Power users and programmers also want user interfaces for new tools to be maximally sane and consistent during their initial learning period, and the configurable afterward. This isn't a Windows/MacOS/Linux thing, this is a human thing.
> Especially because the easiest example (text editors) has huge, obvious counter-examples showing that there is no universal set of defaults to edit text on Linux (nano vs emacs vs vim).
That's because they're obviously not counter-examples. vim and emacs are not the default editor on the majority of user-facing Linux boxes (graphical Ubuntu) - they have to be picked and learned, and most non-technical users that try quit very fast. Those are not even candidates for a set of defaults - those are highly user-hostile specialized programming tools. You know what the default text editor is in Ubuntu? Gedit. Not vim or emacs, not nano or even pico. Gedit. That's the default, and its behavior very closely matches the behavior of the default text editors on Windows and macOS.
Moreover, there is a set of defaults, without a name, that corresponds roughly to what you get in a text field in Firefox. Left-click to place cursor, right-click for context menu, drag-left-click to select region, ctrl-c to copy, etc. You get this behavior in Libreoffice, Gedit, Firefox, Blender, GIMP, various file explorers, random GTK+Qt widgets, and basically everything else except vim, emacs, nano, and the terminal. That is the standard.
As further evidence: the number of people who know how to use ctrl+z/x/c/v (and other standard text-editing shortcuts) outnumbers the combined amount of people who know how to use vim and emacs, by orders of magnitude.
So, yes, there is a set of defaults on Linux. Vim, Emacs, and Nano are not it.
[1] https://news.ycombinator.com/item?id=34161694 https://news.ycombinator.com/item?id=34161694
- palata 4y ago> So, yes, there is a set of defaults on Linux. Vim, Emacs, and Nano are not it. If you mean on Ubuntu, then sure. Ubuntu's target audience is essentially people who want an alternative to Windows/macOS. Not people who want the freedom to use their preferred tools. You think systemd is a sane default and advanced users "just have to change it if they don't like it"? Try replacing systemd on Ubuntu, let me know how it goes. You don't want snaps? Well it looks like it may get harder and harder to not use snaps, because people like you think that it is fine to enforce the most used tools as "the standard". You want to use a tiling window manager? Well many apps will just suck, because people assume that the "standard" is Ubuntu. Same for those apps that require network-manager, or the gnome keychain, etc. The "Linux way", IMO, would be to create CLI tools with minimal dependencies, and then build GUIs on top (maybe even specialized for the latest Ubuntu). But that's not what's happening. You want to use Firefox as a browser, and have a lightweight calculator app next to it? No luck, chances are that your calculator app is shipped with Chromium, because people decided that the standard is Chromium and webapps. And that's if you're lucky, because your calculator may be shipped with a full rootfs in a docker container. So from my point of view, there are people coming from Windows/macOS to Linux for some reason (apparently not the freedom of Linux, because they don't even wanna know how their system works), and argue against my freedom, because if I don't want the Windows/macOS experience, then I am a weirdo. > So, yes, there is a set of defaults on Linux. You mean "the defaults of Ubuntu, which represents most Linux Desktops"? I don't want it. I want the choice to choose the distro closest to my preferences, and let Windows/macOS people choose Ubuntu. But that means that those Ubuntu people should not insist on everyone doing what Ubuntu does.