8 ms·
To those familiar with Emacs development - is there a tendency to modernise the UI and generally make it an easier out-of-box experience?
by dimitar 10y ago
To those familiar with Emacs development - is there a tendency to modernise the UI and generally make it an easier out-of-box experience?
- DigitalJack 10y agoI can't speak for emacs development, but spacemacs is all about usability. It really shines as a combination of the best of VIM and EMACS, however, you don't have to use the vim mode. I haven't tried it without though.
- cmiles74 10y agoI've used it with the standard Emacs bindings and it's still quite good. Definitely worth checking out.
- josteink 10y ago> To those familiar with Emacs development - is there a tendency to modernise the UI and generally make it an easier out-of-box experience? The OOB GNU experience is rather lack-luster. There's a ton of thing Emacs can do, but with the default preferences it doesn't. Some of these missing or bad defaults really feel odd. It seems the official GNU mantra is "if people aren't forced to look for things to customize, they wont really ever discover all the things Emacs can do for them". Which is kinda true. Basically, they want to encourage users to become "fully fluent Emacs-users", that is a person who can and will customize every part of the Emacs-experience. Which is a great goal! But the means used still puts a first-time novice user in a much more inferior-looking chair than he could have been put into. The "solution" for this has often been Emacs starter-kits (like prelude), which provides lots of better defaults, not to mention a curated list of addons and packages, making the OOB experience much more friendly. From here on it's probably all speculation, but a full starter-kit might leave the novice Emacs-user overwhelmed and incapable of customizing (he has no way to know what all the things the starter-kit sets or includes does, and why. He will not know what is Emacs and what comes from addons. Etc etc). IMO this can hurt the long-term prospect of the user actually becoming a fully fluent Emacs-user. On the other-side, you have the GNU Stance where IMO they risk alienating people from becoming Emacs-users all together. And that's even worse. I don't like to be all black and white and say "this side is the only way". There really should be a middle-ground somewhere, but it seems GNU is not willing to provide it. And that's really quite a shame.
- stinkytaco 10y agoAs someone who recently picked up emacs (as in the past couple of years), I actually didn't find it that overwhelming. I'm not sure what "modernize" means in this sense, but other than trying to remember some fairly arcane key combos, it's a fairly straightforward system. Certainly no more difficult to grok that vim's modal system. If a user is new, start with the tutorial and get a feel for the navigation. Then I watched a few videos online to help me with more advanced stuff. After that point, Google was my friend if I needed to do something specific. That said, I feel like emacs could update a few defaults and include a few packages to create less setup time. Like shipping an official starter package (dnf install emacs-starter) so people can choose what they want.
- hatmatrix 10y agoGNU Emacs doesn't provide it directly, but rather provides the tools to enable it. For instance, http://batsov.com/prelude/ http://batsov.com/prelude/ https://ergoemacs.github.io/ https://ergoemacs.github.io/ or CUA-mode. I haven't tried any of these so can't speak to the experience, but the idea is that a custom layer for various users can be built on top and distributed to desired users (so it's almost out-of-the-box). Spacemacs is also a good example targeting VIM users.
- oblio 10y agoI don't know why you're being downvoted, it's a valid complaint. I tried Emacs/Spacemacs and for example, there's no decent tabbed interface. I mean a real tabbed interface, at least as good as Vim's. The answers I got on this topic ranged from: "you're not going to need it" (how do you know what I need?) to "use this random package which kind of provides a limited subset of the tabbed interface UX" to "write it yourself" (...).
- josteink 10y ago> I tried Emacs/Spacemacs and for example, there's no decent tabbed interface. I mean a real tabbed interface, at least as good as Vim's. The answers I got on this topic ranged from: "you're not going to need it" (how do you know what I need?) to "use this random package which kind of provides a limited subset of the tabbed interface UX" to "write it yourself" (...). I'd like to offer a different explanation, which I think it much more truthful and reflects the Emacs way(tm). In Emacs everything (and I mean everything) is represented by the same type of primitives: Buffers made out of text. Every interaction with such a text-buffer is represented as lisp-code implementing an Emacs mode. This is the core of Emacs. Everything in Emacs must build on this. No exceptions. And that's incredibly powerful. Because of these "limitations" it means everything (and I mean everything) in Emacs can be processed using the same primitives, the same functions and the same keys. There's no magic buttons, or drop-down lists, or special UI elements exempt from this. I can search/grep for text in any buffer. I can recursively grep for results in my grep-result buffer. I can navigate these search results, the same way I would navigate a code-document. I can enable spell-check in any mode I like (like Git commit-mode). Etc etc. It also means that any customization I've done to any part of Emacs, I can apply to any third party extension as well. It means I can customize and interact with a extension which extends another extension. There's almost no limits to what you can do with these simple but powerful primitives. And all that in a simple and uniform way. Everything at your finger-tips. Both as a Emacs-package developer and an Emacs-user. Once you get used to it, it's really a captivating thing and everything else starts feeling wrong. If you want to make a tabbed interface... How are you going to represent that using those primitives? How will that work? How will you make sure you tab-line/row stays in place and is exempt from other rules which governs the current buffer and the Emacs mode it runs (not to mention the user-customized rules for this mode)? I'm not saying it can't be done. I'm just saying it wouldn't be very Emacsy, and it's probably not a trivial thing to implement either. Especially when you consider that all your code also needs to work in a terminal. Emacs should be able to work 100% in a SSH session too, you know. At least for me, that's one of it's many selling points :) So non-trivial and not very Emascy. That doesn't sound like anything which is going to get lots of developer-time. Neither core nor third-party.
- wtbob 10y ago> To those familiar with Emacs development - is there a tendency to modernise the UI and generally make it an easier out-of-box experience? The UI feels pretty modern to me; it's when I use every other app that I feel crippled. That's not hyperbole, but fact. It'd be wonderful if Firefox gave me the full set of emacs keybindings (not just a few) and a decent language to extend it. It'd be wonderful if desktop environments let me converse with the computer via my keyboard, rather than pointing and grunting like an infant.
- erlehmann_ 10y ago> It'd be wonderful if Firefox gave me the full set of emacs keybindings (not just a few) and a decent language to extend it. I suggest to try the conkeror web browser: http://conkeror.org/ http://conkeror.org/ Conkeror is configured entirely in JavaScript, though, not LISP.
- mrob 10y agoOne thing that feels very old-fashioned about Emacs: the cursor acts like a hardware cursor on an old hardware terminal, even in the GUI version. Every modern GUI text editor lets you scroll away from the cursor without moving it. This is convenient if you want to quickly check something else in the file. Emacs will move the cursor so it's always on screen. It has no concept of scrolling without cursor movement.
- ef4 10y agoThe explanation for that behavior is that instead of a cursor, emacs has a mark and a point. If you want to view something else without losing your place, you can leave the mark behind and then jump back. The main benefit of this is that you get to find the "something else" quickly using the full suite of normal search and movement commands. It's also nice that you can jump through the stack of past marks, not just one.
- mrob 10y agoInstead of a mark and point, it could have a mark and modern cursor. This wouldn't lose any of that functionality and it would be less annoying for people used to modern software.
- gkya 10y agoEmacs is a different paradigm in the editor world. The user interface reflects and is part of this paradigm, and don't expect it to change. It is an established interface, essentially an API, on which thousands of people built configuration and packages. Breaking it is breaking everybody's code. That said, improvements and fixes are certainly done and increasingly often so.