Welcome to LWN.netThe following subscription-only content has been made available to you by an LWN subscriber. Thousands of subscribers depend on LWN for the best news from the Linux and free software communities. If you enjoy this article, please consider accepting the trial offer on the right. Thank you for visiting LWN.net! |
|
The Emacs editor predates Linux, and was once far more popular, but it has fallen into relative obscurity over the years. In a mega-thread on the emacs-devel mailing list, participants discussed various ideas for making Emacs more "attractive", in both aesthetic and in "appealing to more users" senses of that term. Any improvements to Emacs in that regard have numerous hurdles to overcome, however. There are technical questions and, naturally, licensing considerations, but there is also the philosophical question of what it is, exactly, that stops the venerable text editor from being more popular.
The discussion started with post from "ndame" asking why Emacs is "so square"; the appearance of things like buttons could be improved with rounded corners, they said. Richard Stallman, one of the original authors of Emacs, seemed somewhat dismissive in his reply: "Perhaps we should implement a mode that puts cosmetics on Emacs so it will appeal to those who judge by the surface of things." But Stefan Kangas thought there was more to it than that:
I also don't know that it's helpful to assume that the rest of the world will take the enlightened stance. For example, I've always assumed that many people use Sublime Text not due to any serious feature comparison with Emacs, but because they like its "sleek look".
He wondered if there was "any reason not to improve the default look". Stallman said that there are some technical barriers in finding someone interested in and capable of doing the work needed, but there is an overarching problem that needs to be addressed first:
Stallman did agree that the graphical design could improve usability, "but I have a feeling that the changes that would help are deeper issues than the shape of corners". The GUI interface only matters if Emacs users are leaving those features (e.g. the menu bar and tool bar) enabled, Eli Zaretskii said, but much of the advice out there on configuring Emacs suggests disabling those things.
Beyond that, though, there are bigger problems with Emacs as a whole, Joseph Garvin said. The Emacs user interface "doesn't look or behave like any other application", the keyboard shortcuts are different than other programs, and the terminology used in the Emacs world does not match with what users expect:
You are basically making a commitment to being or becoming a power user. I certainly would not have put up with it if I didn't think it was going to save me a lot of time as a software developer (and it does, everyday). I doubt anyone invests the mental effort to deal with learning emacs nowadays unless this is their goal. If you just want to do "casual" text editing emacs is a very weird choice in 2020.
But "modernizing" Emacs (however defined) is likely to be a waste of the project's time, since its look is not what's holding it back, Ahmed Khanzada said. For example: "Terminal-based Vim is not like a modern application, yet is more popular than Emacs." The appeal of an editor that can be extended using the Lisp language is somewhat limited, he said. Spending a bunch of time and energy to give it a modern look would not change that and, by the time the work was done, the definition of "modern" will have changed again.
Kangas wondered about the assertion of Vim's popularity; Khanzada pointed to a 2019 survey that showed Vim with a substantial lead over Emacs (20% to 3% is what he reported, though it shows 25% to 4% as of this writing). That survey showed that Visual Studio Code (VSC) is the clear winner, however, with 50+% of respondents using that tool. You could perhaps quibble with the survey's methodology, but the broad-brush numbers do not seem wildly out of line.
That set off some discussion of why users prefer the experience with VSC. "We need to figure out why VSC is so popular, and then fill in the areas that Emacs is missing", Po Lu said. Bob Newell thought that "the goal of making Emacs more accessible and more appealing is laudable and ambitious"; it is something that the project could accomplish, he said. He is worried, though, that today's software is aimed at "instant gratification" rather than long-term usability—and power.
Stallman agreed with that sentiment. But he would also like to see Emacs return to popularity as an editor of text for publication. Several noted that Org mode is already being used successfully for text-publication purposes. That mode is not familiar to Stallman and he was unable to learn much about using it for word processing by reading the documentation. Zaretskii pointed out that there is a high barrier to learning Org mode from its documentation, at least for the word-processing use case.
Once again, though, it seems quite unlikely that some putative, well-documented word-processing Emacs mode is likely to have users flocking to the editor. But Stallman said that the user profile for Emacs was much broader 30 years ago; he would like to see it be that way again. He personally does not see rounded corners as part of that, though he is not opposed to efforts in that direction; "[...] if you want to attract more users to Emacs, I think there are more important areas for improvement." Lu had some ideas along those lines, for example using starter kits (or packs) to help make the editor "more friendly to newcomers".
There was a difference of opinion about making changes to the defaults, though, in order to help newcomers. If changes need to be made for the sake of newcomers, ndame said, established users can just turn them off. For example, Cua Mode, which adds the "standard" keybindings for things like cut and paste (i.e. ctrl-c, ctrl-x, ctrl-v) to Emacs, should be on by default; "it could make the life of new users easier if they didn't have to turn it on explicitly and they could use their copy/paste keys from the start like they are used it to in other tools".
But Lu suggested adding a button for newcomers to turn on those features from the splash screen instead. Better still might be for Emacs to recognize a possible newcomer, ndame suggested:
And if the user says no then everything is as usual.
There was some discussion of gathering feedback before deciding to change defaults and such, but Dmitry Gutov wondered if existing users are even relevant. If expanding the reach of Emacs is the goal, it may make sense to look at the problem differently:
And it's not like existing, long-time users can't grow to like the new defaults (even after a certain amount of grumbling).
Lu disagreed; "We should prioritize existing users over hypothetical users that don't even exist yet." But Gutov said that might be shortsighted; "I don't want Emacs to die out, and it will if we don't do the work of attracting new users." No real conclusion was reached; everyone would like to see the number of Emacs users (developers, testers, documentation writers, ...) grow, but how to do so is unclear at best.
Back to rounded corners, Zaretskii said that the only thing standing in the way of that was code to implement it; "[...] patches to add such capabilities to Emacs are most welcome". But Emacs is multi-platform, Gutov said, which means that buttons look different on each. Even on the same platform, different graphics toolkits give different looks—and the looks change between toolkit releases.
Alex Bennée suggested that "unifying under a single cross-platform toolkit like GTK+" would avoid some parts of the problem, but he also noted that a longstanding bug in GTK+ had caused him to use Emacs with the Lucid toolkit instead. He also worried about the next generation: "I've been thinking about text editors for my children to use as they graduate from point and click programming to proper text and even I'm not sure I want their first experience to be Emacs."
Zaretskii pointed out that GTK+ is not really cross-platform. In addition, the bug in question is not considered to be one by the GNOME developers, which led Ulrich Mueller to muse about a switch to Qt. But Stallman was quick to put the kibosh on that; Qt is only available for GPL 2 and 3, using it would mean that if there is a GPL 4 someday, Emacs could not switch to it. "So we must avoid using Qt."
Electron was also raised as a possibility, but it turns out to have "freedom issues", Lu said. It is not clear how serious any of these ideas were; switching graphics toolkits is a decidedly non-trivial undertaking. It does seem like an indication that some in the Emacs development community are getting frustrated with the GUI version(s) of the editor. Beyond that, many of the Emacs developers do not even use the GTK+ version because of the bug, which leads to less interest in improving that version of Emacs; it all seems to be something of a mess.
The icons used by Emacs were also questioned in the thread, with licensing rearing its head there as well. The Emacs subreddit is apparently fertile ground for thoughts and suggestions as it came up a few times in the thread. For example, ndame reported "that a user posted a screenshot of an emacs toolbar with really sad looking icons at the end". There are icon sets available under the GPL that could be used instead, they asserted. But Zaretskii cautioned that things may not be that clear-cut:
Several icon sets were suggested, including GNOME icons, some from Wikimedia, and those from KDE, all of which are available under various free licenses (GPL, Creative Commons, LGPL). But there is more work to do than just identifying candidates, Zaretskii said:
Alternatively, someone could create our own icons, in which case they could be even prettier than the ones pointed out here.
In any case, this is a non-trivial job, and volunteers are most welcome to do it. I don't think anyone is happy about the icons shown on the tool bar by Message mode; the only reason we use them is that we couldn't find better ones that are free and suitable for inclusion in Emacs.
But, ndame asked, shouldn't icons that come from GNOME, a longstanding free-software project, be perfectly acceptable to use in Emacs? Sadly, it is not so easy as that, Zaretskii said: "IANAL, but I think it has to be GPL v2+ at least. And perhaps we would also need the copyright assigned to the FSF." For example, the Wikimedia icons are available under the the LGPLv3 and Creative Commons Attribution-ShareAlike (CC BY-SA) 3.0 licenses, but neither of those would work for pieces that are part of the Emacs program, Stallman said. Without the "or later" on the LGPL grant, the Qt problem would exist; CC BY-SA 3.0 "is incompatible with every version of the GPL". But that may not matter in the end:
The Emacs distribution contains many works, including textual, art, and small programs, which are distinct from the program, Emacs.
Zaretskii and Stallman were able to determine that icons for Emacs fall into that category, so they simply need to be available under any free license, which should simplify things—if someone gets the time and energy to work on the problem. Like most projects, Emacs suffers from a shortage of human power; a project to improve the GUI that may not be widely used by those developers could go wanting. And that, in a lot of ways, sums up the situation with the editor project.
Emacs is quite useful for its adherents; many of them see it is their main interface to their computers. Others use it regularly but less universally. There are even longtime Vim users (who may have started on vi, in truth) that need Emacs for certain tasks—me for example. It serves all of these users well, but does it really still have a role in ten, twenty, or forty years? It is not an easy question to answer, of course; certainly it will still be with us in both ten and twenty years, but how many users will it have in forty?
Part of the problem is that the dedicated following for Emacs is also pretty resistant to change to any major degree. That's not meant as a knock of any sort, simply an observation. There are plenty of examples in that huge thread of ideas that were seemingly shot down because they represent change that might upset existing users. But it would seem that some changes of some sort are needed to bring in new blood. If few or no new users are coming in and nothing is done to attract more, it can only lead to eventual extinction.
Hopefully that is not the path that Emacs is on—or if it is, that it changes direction before (too) long. It is one of the earliest free-software programs in existence; pre-dating the term "free software" by nearly a decade, in fact. Of course, the code itself need never disappear entirely, but a vibrant—growing—Emacs community would be wonderful to see.
In truth, we have barely scratched the surface of that mega-thread. There are plenty of sub-threads that went completely unmentioned here; those interested in Emacs development—warts and all—will find plenty to read and digest there. Whether Emacs ends up with rounded corners or not seems like simply the tip of the iceberg of things that might need to be addressed to make Emacs more newcomer-friendly. How that can happen within that community remains to be seen.
Did you like this article? Please accept our trial subscription offer to be able to see more content like it and to participate in the discussion.
Making Emacs popular again
Posted May 6, 2020 22:39 UTC (Wed) by jgg (subscriber, #55211) [Link]
The C mode in VS Code is ridiculously better than emacs. Emacs shot itself in the foot by both not allowing GCC's font end to be useful and refusing to use clang's useful front end, both for philosophical reasons. Without this part it is just hopeless.
My biggest sadness with VS Code is that the key language server part of the C mode is not open source, and has many annoying defects :( Also other things like bad interaction with X11, lack of customizability of the mouse bindings, and remarkably, failure to support multi-monitor, make it pretty hard to like. But the language server is fantastic..
Add in the VSC Remote extension (tramp is total garbage in comparison) plus VSC Live Share and you really have something quite unique and useful.
Suggesting fiddling with the emacs GUI really misses the whole point of why VS Code is so popular right now.. I think if you wrote Emacs in HTML/CSS/JavaScript you'd probably end up quite close to VS Code. ie it is the original dream of emacs pulled out of the 1980's and recast in a Web 2.0 world that is familiar to a huge developer base.
Frankly I find it complete nonsense to be using an editor in a web browser on an interpreted language, but you know what? People said the same of emacs in the '80s and '90s...
Making Emacs popular again
Posted May 7, 2020 4:41 UTC (Thu) by kastauyra (subscriber, #110760) [Link]
For me, LSP is what makes Emacs viable in 2020. The C++ tooling state before LSP was pretty sad - cc-mode using regexps to "parse" C++ can get you only so far, and I was never able to get CEDET to work.
Making Emacs popular again
Posted May 7, 2020 23:48 UTC (Thu) by jgg (subscriber, #55211) [Link]
But this is kind of my point - *emacs* is not relevant any more because major stuff like really good LSP support is just not part of the main project's concern.
Now I want to find time to try vsc-clangd..
Making Emacs popular again
Posted May 7, 2020 7:42 UTC (Thu) by wIvE4lF2GnJ1BFb (subscriber, #131745) [Link]
I use it on any project that has a proper build system like Meson or CMake, that write a compile_commands.json in their build directory, which you can tell clangd to read so it knows exactly how each file is compiled and has all of the insights that the compiler also has.
clangd is packaged in most distros by now, since clang 7 or 8 it has gotten very good.
VSCodium and C-language LSP server licensing
Posted May 7, 2020 10:28 UTC (Thu) by ber (subscriber, #2142) [Link]
To me if something is completely available as Free Software, is an important indicator and both a safeguard to make a software future proof. Thus https://github.com/VSCodium/vscodium (an initiative to rebuild VSCode) is very interesting and what we recommend at the workplace to people that like this editor.
(Thanks LWN for the article and you all for the nice discussion (except the two comments born out of frustration from my point of view).)
VSCodium and C-language LSP server licensing
Posted May 7, 2020 18:09 UTC (Thu) by jsmith45 (guest, #125263) [Link]
Of course, one could use a different C LSP implementation, but that extension would not be designed for configuring and launching some other LSP server, so ideally you would want to use some other extension designed around the other LSP.
Making Emacs popular again
Posted May 6, 2020 22:49 UTC (Wed) by tchernobog (subscriber, #73595) [Link]
Many developers are already familiar with those in their daily projects. eLisp is not something you want to get your hands dirty in 2020 as a fresh college graduate / young professional.
Not to mention all the long-standing issues (e.g. lack of multithreading which makes the UI block). There was at least an attempt to move to GNU Guile, but I am unsure it went anywhere.
But the amount and quality of extensions (especially language server integration) available with one click in VSCode are the clear winner for me, rather than the keymaps, icons, or rounded corners.
Making Emacs popular again
Posted May 6, 2020 23:23 UTC (Wed) by wblew (subscriber, #39088) [Link]
With emacs, I just never got into all those control key combos. Maybe it was a learning curve thing.
Making Emacs popular again
Posted May 7, 2020 1:15 UTC (Thu) by dvdeug (subscriber, #10998) [Link]
Making Emacs popular again
Posted May 7, 2020 11:58 UTC (Thu) by smoogen (subscriber, #97) [Link]
All in all, if someone is going to do it, they need an ego of a superhuman to power through the giant valley of despair... and usually those people find other things to work on.
Making Emacs popular again
Posted May 8, 2020 2:56 UTC (Fri) by tome (subscriber, #3171) [Link]
A couple years ago I think Andy Wingo had gotten guile to the point where it could interpret emacs lisp. So the great mass of emacs functionality, including extensions, implemented in elisp, would run with guile swapped in as the implementation. There was no longer a need for a complete rewrite of all that elisp code. People who prefer to do so could write new packages in scheme and take advantage of guile's greater speed and capabilities. It came down to some remaining issues in the C code of emacs. I thought it sounded feasible, but I could be wrong. Can someone tell me what's untrue about that scenario?
Making Emacs popular again
Posted May 8, 2020 4:18 UTC (Fri) by marcH (subscriber, #57642) [Link]
Readable Lisp S-expressions seem like they would be much easier to implement and maintain, wouldn't they? https://readable.sourceforge.io/
It wouldn't change the language but merely add a clearer syntax. I naively think it would help.
Making Emacs popular again
Posted May 7, 2020 12:17 UTC (Thu) by Sesse (subscriber, #53779) [Link]
Honestly, Emacs would probably be in a better place if RMS didn't have any say.
Making Emacs popular again
Posted May 6, 2020 23:18 UTC (Wed) by jkowing (subscriber, #5172) [Link]
* My Second Comment
Now, excuse me, I have a M-x doctor psychotherapy session with my Emacs to attend to - it greatly helps me in these days of social distancing.
Making Emacs popular again
Posted May 7, 2020 0:23 UTC (Thu) by felixfix (subscriber, #242) [Link]
Making Emacs popular again
Posted May 6, 2020 23:40 UTC (Wed) by JohnVonNeumann (subscriber, #131609) [Link]
"That set off some discussion of why users prefer the experience with VSC. "We need to figure out why VSC is so popular, and then fill in the areas that Emacs is missing", Po Lu said. Bob Newell thought that "the goal of making Emacs more accessible and more appealing is laudable and ambitious"; it is something that the project could accomplish, he said. He is worried, though, that today's software is aimed at "instant gratification" rather than long-term usability—and power."
I read "The Pragmatic Programmer" before I got into technology, so I came in with a fairly "craft" view of tooling, and for my age and time in industry, my opinion is not a common one that a programmer is a craftsperson that should choose their tools wisely and work with them to learn them and get better. I regularly have to fend off my choice in the workplace to use Vim. For the most part I've stopped having the discussion though.
Even then, I'm a pretty massive vim fanboy and even I have found myself moving away from it for certain things just due to the head aches it can provide doing development in modern programming environments with Python and the like, having to manage combination of LSP servers with python versions and it's own environment, then a version for vim to support python code completion is an absolute pain.
I appreciate that I've talked mostly about Vim, but for the most part I think emacs and vim are in the same boat.
Making Emacs popular again
Posted May 7, 2020 10:38 UTC (Thu) by daniels (subscriber, #16193) [Link]
Where on earth did this meme come from? Modern web and networked-service development relies on a huge constellation of tools - much more so than 'traditional' C development. Those tools do change and evolve rapidly, yes, but that happens in response to different needs and uses. If you're making the argument that they're wrong, well, they're not the ones having an existential 'is our project still viable?' debate.
Making Emacs popular again
Posted May 7, 2020 17:17 UTC (Thu) by NYKevin (subscriber, #129325) [Link]
It's just sour grapes. People have been denigrating the popular for as long as "the popular" has been a thing.
Making Emacs popular again
Posted May 7, 2020 17:48 UTC (Thu) by hkario (subscriber, #94864) [Link]
Making Emacs popular again
Posted May 7, 2020 18:04 UTC (Thu) by daniels (subscriber, #16193) [Link]
Perhaps the number of frameworks/libraries and the velocity of their development within the web world is reflective of the vibrancy of their ecosystem, and the willingness to try out new strategies rather than open-coding string-handling routines. But I don't see a correlation between framework popularity ebbing and flowing, and the care and investment put into them during their development.
I don't think 'literally everything gets thrown away every week' is even accurate, if you actually look at the shelf life of frameworks like Rails (est. 2005), Django (also 2005), jQuery (2006), Dojo (2004), etc. The editor that arguably did the most to displace Emacs - Sublime Text - dates back to 2008.
Maybe that kind of careless 'these fools don't even know what they want' stereotyping doesn't mean that Emacs developers 'care more' about their tools, but are instead endangering the project, because its continued relevance and practical usefulness to developers is less important than projecting feelings of superiority over the internet.
Making Emacs popular again
Posted May 7, 2020 19:01 UTC (Thu) by beagnach (subscriber, #32987) [Link]
I see this kind of snarky comment from people who regard themselves as "real" programmers but who haven't actually bothered to try work with a real JS project of any size.
The problem JS frameworks are addressing is a very hard one - much harder than something like Django or Symphony has to solve. Progress has been, and continues to be, incremental, but rapid. Each new generation has learned from the previous and brought very real improvements in usability and expressiveness.
Having worked with both AngularJS (2010) and Vuejs 2 (2016) recently I can testify that there is a world of difference in the experience.
If you haven't attempted to work with front-end web application at scale it's easy to vastly underestimate the difficulty of creating a well-structured system with good separation of concerns, reusable components and so forth.
So let's have less condescending commentary please.
Making Emacs popular again
Posted May 8, 2020 14:58 UTC (Fri) by thoughtpolice (subscriber, #87455) [Link]
Making Emacs popular again
Posted May 6, 2020 23:56 UTC (Wed) by ms-tg (subscriber, #89231) [Link]
Can anyone clarify if this is accurate?
Making Emacs popular again
Posted May 7, 2020 1:45 UTC (Thu) by mohg (guest, #114025) [Link]
I think that, although this abort was originally added to Emacs because of a GTK+ issue, in recent years other issues have been triggering the same abort. For example, the comments about Emacs aborting when certain unicode characters are inserted relate to a different problem. I can sympathize with GTK developers getting frustrated when people add unrelated Emacs crashes to their bug reports.
I can also sympathize with them wanting a minimal test case. Looks like someone provided one at
https://gitlab.gnome.org/GNOME/gtk/-/issues/2315
to which the response was "Surviving a display connection going away is basically uninteresting for anything but emacs, so the chances of this getting fixed and keeping working are somewhat low.". Fair enough.
I'm not sure it's helpful for Emacs to print another project's bug URL in its abort message. Perhaps the comment should be removed, especially since other things can trigger it.
Making Emacs popular again
Posted May 7, 2020 2:12 UTC (Thu) by pabs (subscriber, #43278) [Link]
Making Emacs popular again
Posted May 7, 2020 7:54 UTC (Thu) by mina86 (subscriber, #68442) [Link]
Making Emacs popular again
Posted May 7, 2020 8:21 UTC (Thu) by LtWorf (subscriber, #124958) [Link]
I've had that happen to me on Fedora by downloading a .iso in /tmp. Fedora mounts /tmp on tmpfs, so the RAM got filled, so the OOMKiller triggered and killed gnome and everything I had open along with it.
Making Emacs popular again
Posted May 7, 2020 12:40 UTC (Thu) by ebassi (subscriber, #54855) [Link]
When it crashes it kills the entire session.
Just like when the X server crashes, as the compositor in Wayland is also the display server.
Ideally, we GTK developers would like to allow clients to survive a display connection closure—and Wayland makes it easier than X11, given that all objects are client side and do not asynchronously disappear when the display connection is closed. Sadly, it's still not entirely trivial to achieve; there are more pressing things to do than addressing niche use cases; and this still does not address the issue of Emacs closing display connections at random and expecting things to survive.
Making Emacs popular again
Posted May 7, 2020 12:49 UTC (Thu) by pabs (subscriber, #43278) [Link]
https://arcan-fe.com/2017/12/24/crash-resilient-wayland-c...
Making Emacs popular again
Posted May 7, 2020 13:20 UTC (Thu) by Baughn (subscriber, #124425) [Link]
Making Emacs popular again
Posted May 7, 2020 14:30 UTC (Thu) by ebassi (subscriber, #54855) [Link]
Compositor crashes are not niche
Compositor crashes are bugs, not a feature. Bugs ought to be fixed, and compositors should not crash, considering that they are privileged components.
Additionally, terminating the connection should not crash a toolkit, but you should not expect that your application wait for a display reconnection and restart as if nothing happened either. The only safe thing to do is to save local state and terminate.
Making Emacs popular again
Posted May 8, 2020 2:15 UTC (Fri) by pabs (subscriber, #43278) [Link]
Making Emacs popular again
Posted May 7, 2020 8:43 UTC (Thu) by vejeta (subscriber, #138096) [Link]
I searched the list, and found a mention here:
https://lwn.net/ml/emacs-devel/82460db0-1ecf-cf11-7dbf-d7...
It seems there is a warning that mentions it when compiling emacs, however I don't see a reference to it where this discussion took place.
Making Emacs popular again
Posted May 7, 2020 12:52 UTC (Thu) by ebassi (subscriber, #54855) [Link]
Can anyone clarify if this is accurate?
As the person who wrote the comment you're linking: yes, this is still accurate to the best of my knowledge.
Emacs is specifically calling abort(), and nobody from the Emacs camp has come up with a patch, or at least a description of the required Emacs behaviour that is supposedly not supported by GTK.
Making Emacs popular again
Posted May 6, 2020 23:59 UTC (Wed) by noahm (subscriber, #40155) [Link]
I'm one of those weirdos who's just about equally happy in emacs and vim. I also spent some time trying to switch to vscode for Go development in the past year. I switched back from VSC to emacs, though, and I'm happier for it. The multi-language support in emacs is better than VSC, so although it doesn't have quite as many UI features, it is more consistent across languages. I suspect that this is simply a matter of maturity, though, and I think VSC will catch up very soon, if it hasn't already.
My concern with efforts like this is that they'll add a lot of complexity, change a lot of things that annoy (even just a little bit) existing users, and still fail to attract new people. It's hard to overcome perceptions, and Emacs has developed a reputation as being weird and old, and it doesn't have any attractive enough features to overcome that for a lot of new users.
I think these days a lot of "new" users aren't even expecting to use a native application for general text editing. The browser has become the default interface to general purpose computing, much the way emacs was the default interface for a lot of people 30 years ago. So even if emacs does attract a larger share of the subset of people who want to edit text in an application running on their computer, even that group is shrinking.
Making Emacs popular again
Posted May 7, 2020 1:03 UTC (Thu) by nkiesel (subscriber, #11748) [Link]
I used to recommend Emacs to every junior developer, but lately shifted saying “I personally use Emacs for everything but Java/Kotlin and its great, but you might instead consider using VSCode these days because most language support is much better”.
Making Emacs popular again
Posted May 8, 2020 0:32 UTC (Fri) by smitty_one_each (subscriber, #28989) [Link]
I'm one who physically cannot take the left-hand abuse of emacs key chords. Just rips my left arm off. On the other hand, https://www.spacemacs.org/ is just awesome, locally or in the cloud over SSH.
Taking the time to convert to modal editing via https://vimvalley.com/ was worth the cost. When you can log in and get the work done with bare vi, you have instant cred on the job.
Magit and org-mode seal the deal, whereas all this icon talk is of no real importance to me, sorry.
Making Emacs popular again
Posted May 7, 2020 1:03 UTC (Thu) by josh (subscriber, #17465) [Link]
> Richard Stallman, one of the original authors of Emacs, seemed somewhat dismissive
One wonders just what could possibly be holding the editor back.
I used to follow the Emacs development list, back when I used Emacs as my primary editor. (I still use Emacs for TeX, using AuCTeX, but for everything else I now use vim. One of these days I need to learn vim-latexsuite.)
Any attempt to do anything outside the norm, especially improvements focused on new users, usability, or more integration of powerful features, was met with derision, contempt, and elitism that has no place in any modern project, most of it from the same few people.
(To clarify something: I'm not talking about changes that would break things for experienced Emacs users. I'm talking about changes that would leave experienced Emacs users unaffected, and improve usability for new users.)
That's leaving aside the copyright assignment problem; I've seen perfectly reasonable GPL-licensed code, code that many developers wanted to include, rejected out of hand because the FSF didn't own the copyright. I've even seen demands to refuse to *mention* such code, lest people be able to find it. (One excellent example: Magit, a popular interface to git.)
Emacs is an incredible tool, and its extensibility and programmability are incredible. In my opinion, the biggest thing holding it back is a small handful of unwelcoming elitist developers in its community, and the second biggest thing is the FSF's copyright assignment policy.
Making Emacs popular again
Posted May 7, 2020 1:52 UTC (Thu) by mohg (guest, #114025) [Link]
I don't think the copyright assignment issue is something that needs to be reported anecdotally. It is the stated policy for GNU Emacs. There is some rationale for it at
https://www.gnu.org/licenses/why-assign.en.html
which of course not everyone agrees with. Many GNU projects don't have this requirement. I suspect many Emacs developers would be happy without this policy, but don't feel strongly enough to make a serious challenge to the status quo (or fork).
> I've even seen demands to refuse to *mention* such code
I've only ever seen Richard Stallman say this. I find it a strange position for him to take, and have never seen anyone agree with it.
I'm not sure these are the issues "holding Emacs back" (if anything is). XEmacs had no copyright assignment requirement, and it died.
Making Emacs popular again
Posted May 7, 2020 2:36 UTC (Thu) by cmonsanto (subscriber, #96651) [Link]
The copyright assignment policy contributes to the pointless ELPA vs MELPA schism. For those unfamiliar with Emacs, MELPA is where the majority of Emacs packages live. It should be usable by default.
You couldn't pay companies to incorporate Emacs' source in their non-free products. Nobody cares. This is a complete own goal.
Making Emacs popular again
Posted May 8, 2020 3:11 UTC (Fri) by val314159 (guest, #138703) [Link]
Seems history is on the side of the users if someone supports them.
as a case in point in modernity, ELisp used dynamic bindings until very recently and I have never seen another lisp system that does that since the 1980s.
another side note, explaining why "frames" are "windows" and "buffers" and "files" makes EVERYONE'S eyes glaze over.
Making Emacs popular again
Posted May 7, 2020 2:05 UTC (Thu) by ttuttle (subscriber, #51118) [Link]
Making Emacs popular again
Posted May 7, 2020 2:30 UTC (Thu) by josh (subscriber, #17465) [Link]
Making Emacs popular again
Posted May 7, 2020 23:28 UTC (Thu) by flussence (subscriber, #85566) [Link]
The resulting project will obviously have to be named something else to avoid RMS's signature tantrums, but that's a baggage a lot of people would probably be glad to be rid of.
Making Emacs popular again
Posted May 7, 2020 2:35 UTC (Thu) by pabs (subscriber, #43278) [Link]
https://thenextweb.com/dd/2020/05/06/github-codespace-let...
It seems pointless to try to make Emacs popular in a world where proprietary software running in web browsers has replaced locally installed software. Even if Emacs were ported to WebAssembly or asm.js, who is going to run it in their browser instead of the default GitHub IDE and how are they going to convince GitHub host Emacs on their servers?
Making Emacs popular again
Posted May 7, 2020 4:56 UTC (Thu) by thumperward (subscriber, #34368) [Link]
It's absolutely natural that the most popular IDE is essentially a reimagination of Emacs for the 21st century. It's ironic of course that it's a Microsoft product, but it demonstrates that Microsoft are far bolder and more willing to experiment (by creating, and giving away, a free competitor to their own IDE, which was a former market leader) than the infamously hidebound Emacs development community.
The comments here are little better than in the mailing list thread, and for the same reason. I'm pushing 40 (and yet I'm a "millenial" as much as the term ever had a specific meaning) and I've been happily using Atom (another Electron-based, Javascript-extensible free software IDE) for years. VSCode appears to have all the momentum, so I'm preparing to switch to it. That's going to require a bit of retraining, but nothing that goes beyond the inevitable requirement to continually learn and re-learn technology that comes with working in this industry. And I am _well_ below the median age for an LWN commenter, let alone an Emacs user. It's gotten to the point where the proud greybeards are literally all reaching retirement age, and most of them have stubbornly resisted making any alterations to their lifestyle or world view since the dotcom boom. Hell, the infamous Lucid Emacs schism was nearly thirty years ago now, and on the Emacs side it's still _exactly the same people_ acting in exactly the same manner. There will only be another couple of rounds of this masturbation disguised as retrospection before there is nobody left in this group to carry the fight forward.
As a final footnote, it's remarkable that seemingly nobody has pointed out that it is far easier to add Emacs-like features to a modern editor than it is to drag Emacs out of the 70s. This is practically the first thing that gets written for any new editor. And yet the other camp has been bloviating for decades about the philosophical utility of having working scrollbars.
Making Emacs popular again
Posted May 7, 2020 9:51 UTC (Thu) by burki99 (subscriber, #17149) [Link]
IT shows similar patterns: COBOL, Fortran and Emacs don't get replaced once something better appears, but when an older generation retires and the infrastructure and tools they built up get (very slowly) replaced with the stuff the next generation grew up with. Usually, the time to learn and the mental change needed to move from what we got comfortable with to something different is just too high unless a new project or position forces us to into such a change. This resistance to change is also one of the main reasons for the never ending language wars and debates about init systems.
Making Emacs popular again
Posted May 7, 2020 11:35 UTC (Thu) by pizza (subscriber, #46) [Link]
You entirely missed one crucial difference:
Microsoft has a legion of programmers they can (and do) order to work on things, and the budget to make that happen, as well as an enormous captive developer audience due to platform lock-in. Not to mention a couple of decades of questionably-legal shenanigans.
Emacs has never had any of that.
Making Emacs popular again
Posted May 7, 2020 12:30 UTC (Thu) by burki99 (subscriber, #17149) [Link]
Microsoft has a legion of programmers they can (and do) order to work on things, and the budget to make that happen, as well as an enormous captive developer audience due to platform lock-in. Not to mention a couple of decades of questionably-legal shenanigans.
while completely true could be stated exactly the same for the comparison for Linux and Windows. But there the outcome is rather different than what we observe in Emacs vs. VSC. So you can't only focus on Microsoft, you also have to take a look at the development community of Emacs.
Making Emacs popular again
Posted May 7, 2020 13:06 UTC (Thu) by pizza (subscriber, #46) [Link]
So, how has "Linux" used its desktop-monopoly-funded profits to enter new markets with loss-leaders, many times over?
Microsoft has probably spent more money on payroll for VS Code in the past year alone than emacs has seen in the form of paid contributions over its entire lifespan, and the pocket change of VS Code's marketing budget likely exceeds the FSF's annual operating costs.
> So you can't only focus on Microsoft, you also have to take a look at the development community of Emacs.
Of course! But let's not pretend that the structure of a well-funded top-down commercial project's community (or the goals that foster that community) will be similar to the community that comes out of a volunteer-driven charity.
Making Emacs popular again
Posted May 7, 2020 14:33 UTC (Thu) by pizza (subscriber, #46) [Link]
(What's the quip? Freedom of the press only applies to those who own presses?)
Making Emacs popular again
Posted May 7, 2020 2:44 UTC (Thu) by samroberts (subscriber, #46749) [Link]
I think the improved quality of operating systems, Linux getting better and more common, mac coming out on top of a unixish userland environment, the withering away of AIX and HPUX and etc., might have hastened the loss of popularity of Emacs.
vi(m) on the other hand, is mostly used just as a text editor, so as better mail clients, shells, news readers (is usenet still a thing?), etc, etc, appear, it doesn't diminish in value as much. If you are already happy at the shell, its not much of a leap to using it for just editing code, and if you are sshed into a remove Linux system or docker image, you almost certainly have vim, not so certainly have emacs, so some basic familiarity with it necessary.
Making Emacs popular again
Posted May 7, 2020 8:01 UTC (Thu) by hthoma (subscriber, #4743) [Link]
Making Emacs popular again
Posted May 7, 2020 10:28 UTC (Thu) by amacater (subscriber, #790) [Link]
Text editing- maybe everything does markdown now?
IDEs are the curse/blessing of the age. They're a curse because they encourage lazy learning or will point out all the errors in your copy pasted code for you: they're a blessing because they are quick to use if you have access to the extensions. VSC is nice, if you like that sort of thing, because it has a terminal and SSH readily available from two extensions.
If you're really stuck using a Windows OS, then WSL allows you to drop a real Linux in and just work in Linux.
Emacs - works for that community of folk who want an extensible tool on their own machine, are happy to debug and write their own code in LISP. That's a larger community than the Linux distro Emacs packagers but maybe not by an order of magnitude. If distros can't package Emacs, it will die out in all likelihood.
Making Emacs popular again
Posted May 7, 2020 14:09 UTC (Thu) by NAR (subscriber, #1313) [Link]
If you're going to be in that environment, it's worth knowing vi keystrokes because that's what you'll get.
I once saw a router which didn't even have vi, only ed... The actual recommended method to change configuration was to download the configuration via FTP, edit locally, then upload via FTP.
Making Emacs popular again
Posted May 7, 2020 5:51 UTC (Thu) by madhatter (subscriber, #4665) [Link]
That reminds me of what Neal Stephenson, himself no slouch in the text production department, said of Emacs:
> If you are a professional writer - i.e., if someone else is getting paid to worry about how your words are formatted and printed - emacs outshines all other editing software in approximately the same way that the noonday sun does the stars. It is not just bigger and brighter; it simply makes everything else vanish.
Making Emacs popular again
Posted May 7, 2020 10:32 UTC (Thu) by Cyberax (✭ supporter ✭, #52523) [Link]
Making Emacs popular again
Posted May 7, 2020 11:31 UTC (Thu) by Baughn (subscriber, #124425) [Link]
"there is a high barrier to learning Org mode from its documentation"
Posted May 7, 2020 6:55 UTC (Thu) by rakoenig (subscriber, #29855) [Link]
Agreed. Org mode documentation is more a reference material where you can lookup the details, but its not a guide to learn.
Around 4 years ago I was trying to show members of the "Getting Things Done" group in LinkedIn how I manage my life inside a text editor. So I recorded a video. Looked at the video, thought it was lousy and I can do better.
Some months later a long playlist was done with a step-by-step tutorial to approach Org mode. My YouTube channel grew from a few family subscribers to more than 3000 subscribers wordlwide.
In my daily work I'm using lots of text editors, Vim, Emacs or whatever I need. Programming is done in an IDE, wether its Eclipse, IntelliJ or even VSC. But one Emacs window with my daily plan is always open and helps me to focus on the small goals that I want to achieve today.
"there is a high barrier to learning Org mode from its documentation"
Posted May 7, 2020 14:14 UTC (Thu) by azz (subscriber, #371) [Link]
Making Emacs popular again
Posted May 7, 2020 7:28 UTC (Thu) by NAR (subscriber, #1313) [Link]
the terminology used in the Emacs world does not match with what users expectThis is what turned me off from Emacs 20+ years ago. The documentation kept mentioning a "Meta" key that I didn't have on my keyboard. So I use vim, but for Java code I use Eclipse, Android Studio for Android development, Google Documents for human readable documentation, ...
Making Emacs popular again
Posted May 7, 2020 7:56 UTC (Thu) by epa (subscriber, #39769) [Link]
Making Emacs popular again
Posted May 7, 2020 11:17 UTC (Thu) by vadim (subscriber, #35271) [Link]
An actual terminal might have a bell inside it: https://en.wikipedia.org/wiki/VT100
This is different from how say, a DOS text editor would actually drive the PC speaker, and so be in full control of exactly what happened and what sound it would make.
Making Emacs popular again
Posted May 7, 2020 19:35 UTC (Thu) by zdzichu (subscriber, #17118) [Link]
Beeping vs ringing the terminal bell
Posted May 8, 2020 3:01 UTC (Fri) by giraffedata (subscriber, #1954) [Link]
vt100 didn't have a bell. It had a speaker.
I have used printing terminals, though, which had bells. ISTR TeleType 43, contemporary with VT100, did.
Making Emacs popular again
Posted May 7, 2020 10:20 UTC (Thu) by ibukanov (subscriber, #3942) [Link]
But I am rather unsure that it was due to Emacs not following platform conventions. Various IDE from Borland for DOS were much better than Microsoft offerings and popular. Then Borland released IDE for Windows that did followed platform conventions and that was still better than MS. But it still lost to MS.
Making Emacs popular again
Posted May 7, 2020 12:29 UTC (Thu) by jmclnx (subscriber, #72456) [Link]
I have been using emacs a lot more over the last few years and this is what keeps me coming back. Remote editing using ssh is awesome. Editing encrypted text files via emacs so easy I use emacs for a password manager (via ccrypt). And source control (rcs/cvs), to me works better then what I have in vim (my own tool). I assume the same for git and will give that a try soon.
But the things that keep me from using emacs 100% are: Tag files, I tried many 'emacs plugins' for that and no matter what I try, i cannot get tags work exactly like vi, I am close though. Another 'killer' vi[m] function is how easy it is to pipe selected text into an external tool, which I use quite a bit. To be fair, I have not looked to see how to do that in emacs since vi[m] method is so easy.
Anyway will be interesting in seeing what happens in the near future with emacs.
Making Emacs popular again
Posted May 7, 2020 13:46 UTC (Thu) by mbunkus (subscriber, #87248) [Link]
Select text, M-x shell-command-on-region (which is fittingly bound to M-| by default).
Making Emacs popular again
Posted May 7, 2020 22:17 UTC (Thu) by jmclnx (subscriber, #72456) [Link]
Making Emacs popular again
Posted May 7, 2020 22:42 UTC (Thu) by asjo (guest, #56570) [Link]
If you want the selected text to be replaced, press C-u M-| instead of just M-| before entering the command.
Making Emacs popular again
Posted May 8, 2020 13:50 UTC (Fri) by ibukanov (subscriber, #3942) [Link]
Making Emacs popular again
Posted May 7, 2020 12:53 UTC (Thu) by Conan_Kudo (subscriber, #103240) [Link]
But Stallman was quick to put the kibosh on that; Qt is only available for GPL 2 and 3, using it would mean that if there is a GPL 4 someday, Emacs could not switch to it. "So we must avoid using Qt."
Most of the Qt libraries are under the Lesser GPL, and KDE, e.V. can negotiate for newer versions if they ever showed up. In practice, I don't think it's as much of a problem. There's no version 4 of the GNU licenses in sight. But if it was a significant issue, perhaps this could be adjusted to the general variant of LGPL which allows upgrades.
Making Emacs popular again
Posted May 7, 2020 13:41 UTC (Thu) by dskoll (subscriber, #1630) [Link]
I don't think tweaking GUI elements or changing terminology will make much difference. Emacs appeals to a certain mindset; I think there will always be enough users to keep it a viable project, but never enough to make it a mass-market contender.
I love Emacs and use it every day. I also use a lot of software that's much less popular than Emacs (such as my own Remind calendar tool.) Popularity, IMO, should be a secondary goal for software projects; once there's a critical mass of users and developers to keep the project viable, the main goal should be high quality.
Making Emacs popular again
Posted May 8, 2020 3:12 UTC (Fri) by giraffedata (subscriber, #1954) [Link]
The concern about popularity for Emacs is that critical mass.I am going to use Emacs until the bitter end, but it gets harder every year because there just aren't enough user/developers. I'm kind of on my own to figure out how to fix or add things in elisp.
Really popular open source tools just don't have quirks and missing pieces because there will always be someone capable of fixing them getting irritated enough to do it.
Making Emacs popular again
Posted May 7, 2020 16:31 UTC (Thu) by hifi (subscriber, #109741) [Link]
I'd rather take a modern IDE that has good language support built in with decent vim emulation over spending hours on trying to get some weird hack working in vim that desperately tries to make it feel more like an IDE. That said I should try that again.
I don't think vim or emacs have much to offer these days for programmers who just want things to work and they can do very little about it.
The problem for me with VSC is that it's not properly packaged as free software with free software plugins from distro repos. VSCodium only fixes one part of the equation. The convenience of VSC is currently more valuable than the missing free-software-only-from-distro-repos bit.
Making Emacs popular again
Posted May 8, 2020 12:54 UTC (Fri) by jerojasro (subscriber, #98169) [Link]
I had an opinion similar to yours, and was feeling really tired of fiddling with (in my case too) vim to get something a modern IDE gives you out of the box.
But then two things happened:
1. Vim got support for running commands asynchronously, and now things like linters could do their thing without blocking the user interface
2. The concept of Language Servers and the associated Protocol (LSP) took off; that allows ANY editor to implement IDE-like features (code navigation, autocompletion) once, in a language-agnostic fashion, and it will work for any language (that has a decent LSP implementation out there).
Those IDE-like features work well enough in Vim nowadays. And have the same UI/semantics, for any language. There might be differences in functionality, but due only to the maturity of the lang. server you use.
And when you add to those capabilities the wealth of things vim brings to the table by itself... I think it's still a very compelling package.
I do think we need more work in making that "get IDE-like features running for language X in my editor" experience smoother, but nowadays it's not the humongous amount of work it was before, thanks to LSP.
Making Emacs popular again
Posted May 7, 2020 17:27 UTC (Thu) by NYKevin (subscriber, #129325) [Link]
Speaking as a vim user who wouldn't touch Emacs with a ten-foot pole: Honestly, I think it has more to do with system defaults and convenience than anything else. I taught myself vim because the system kept dumping me into vim (and also because the documentation told me it would make me more efficient, but IMHO that was a lie; text manipulation is not the bottleneck of programming). Nowadays, Debian and Ubuntu have switched to nano, so I imagine that in another few years, that will experience a resurgence in popularity.
Making Emacs popular again
Posted May 7, 2020 18:40 UTC (Thu) by mgedmin (subscriber, #34497) [Link]
I respect Emacs a lot -- it seems like a more capable engine, it just has poor usability. Vim, while it feels like a pile of hacks, tends to work well. Compare the keyboard commands to split the editor window vertically or horizontally so you could see two files at once: in vim it's Ctrl-w v or Ctrl-w h, while in Emacs is Ctrl-x 5 2 and Ctrl-x 5 4 or some such nonsense with absolutely zero mnemonic value.
I've heard claims that the default Emacs keybindings are terrible on purpose, to force users to create custom mappings they would personally prefer. I'm not sure I believe that, but it's plausible and exactly the kind of abdication of responsibility towards user experience that hinders Emacs's acceptance.
Making Emacs popular again
Posted May 8, 2020 6:57 UTC (Fri) by idrys (subscriber, #4347) [Link]
That probably just shows how different people are: I've been using Emacs since the late 90s, and its choice of commands made more sense to me than those in vim (the first editor I used on Linux was joe, maybe that says something as well.) Even with a German keyboard layout.
Maybe Emacs vs vi(m) is like cat people vs dog people :)
> I've heard claims that the default Emacs keybindings are terrible on purpose, to force users to create custom mappings they would personally prefer.
> I'm not sure I believe that, but it's plausible and exactly the kind of abdication of responsibility towards user experience that hinders Emacs's
> acceptance.
Is changing the keybindings really that common? As said above, I'm happy with them (maybe I'm just used to them :); I also used firemacs in Firefox back when it still worked.
Making Emacs popular again
Posted May 8, 2020 9:23 UTC (Fri) by mgedmin (subscriber, #34497) [Link]
Can you explain this to me?
I understand and remember things like Ctrl+F/B (forward/back), Meta+f/b (same, but for word motions). I'm baffled by the Ctrl+X 5 2 sequences.
(I can remember Ctrl+X 5 1 for "leave only one window" and Ctrl+X 5 0 for "close the window", because 1 and 0 are mnemonic, although the Ctrl+X 5 part is still weird and unintuitive. In vim this would be Ctrl-W o for "window, only" and Ctrl+W q for "window, quit". Ok, there's also Ctrl+W c for "window, close", which differs from Ctrl+W q in that it won't quit vim if you have only one window open.)
Making Emacs popular again
Posted May 8, 2020 12:27 UTC (Fri) by neilbrown (subscriber, #359) [Link]
I think it must be like an in-joke.
It starts out fairly mnemonic:
C-x 0 - close current window
C-x 1 - make this the only window
C-x 2 - split the window (top and bottom of course - terminal only have 80 columns, and 40 is really too narrow to be useful)
but then new features were added incrementally:
C-x 3 - split side-by-side, because megapixel displays makes this useful
C-x 4 - do something in the "other" window - because now that we have more than 2 windows, there are more things we want to do.
C-x 5 - do something in another frame (X11 window) because a real window system makes that meaningful.
C-x 6 - does something with text columns in a buffer ... OK, you have to squint a bit to see the connection now
C-x 7 ... nothing
C-x 8 - insert unicode chars ... squinting isn't sufficient any more
Making Emacs popular again
Posted May 8, 2020 14:52 UTC (Fri) by idrys (subscriber, #4347) [Link]
> I think it must be like an in-joke.
> It starts out fairly mnemonic:
> C-x 0 - close current window
> C-x 1 - make this the only window
> C-x 2 - split the window (top and bottom of course - terminal only have 80 columns, and 40 is really too narrow to be useful)
Keep in mind that I started using it in the 90s.
> but then new features were added incrementally:
> C-x 3 - split side-by-side, because megapixel displays makes this useful
> C-x 4 - do something in the "other" window - because now that we have more than 2 windows, there are more things we want to do.
I rarely (if ever) use more than a horizontal split, as this is most useful to me, and I usually just switch between them ('o' is easy to remember for that.)
> C-x 5 - do something in another frame (X11 window) because a real window system makes that meaningful.
Ok, I always run it -nw (started doing so because I did not always have X available anyway, and stuck with it because I really prefer the look.)
> C-x 6 - does something with text columns in a buffer ... OK, you have to squint a bit to see the connection now
> C-x 7 ... nothing
> C-x 8 - insert unicode chars ... squinting isn't sufficient any more
These are indeed odd, but I've never used them :)
Regarding the vi(m) interface: Maybe I might find it easier now, but I was probably mostly confused by the interface back then.
(And I really like M-x <whatever> telling you if there's a shortcut available.)
Making Emacs popular again
Posted May 7, 2020 17:37 UTC (Thu) by yingw787 (subscriber, #138082) [Link]
I'm also looking to use the tabler dashboard and may have a specific UI/UX taste, but having open-source licenses is really important to me for the project I'm working on.
Making Emacs popular again
Posted May 7, 2020 18:57 UTC (Thu) by magnusmorton (subscriber, #131590) [Link]
Making Emacs popular again
Posted May 7, 2020 22:15 UTC (Thu) by curtis3389 (subscriber, #127185) [Link]
There are probably 2 major problems with it:
1. Heavy use of key combinations
2. Emacs Lisp
I fell in love with Emacs because it's key combinations were based of the command you want to execute instead of where you're hands are on the keyboard like Vim. I just can't memorize the key shortcuts for Vim because I use Dvorak.
That being said, the mouse needs to be equal to keyboard shortcuts to lower the barrier for entry for new users. I know there's a GUI version and the mouse support isn't bad, but it's not equal.
Once you get comfortable with basic editing in Emacs, you quickly run into the issue of learning Emacs Lisp. I've started learning Lisp so that I can have a language with the features I want, but I gave up on Emacs Lisp a long time ago. It's clearly not a very good Lisp, and the beginner manual could be a lot better.
As others in the comments have mentioned, Emacs needs to use JavaScript if it wants today's developers. Everyone already knows it, whether they're a CS major or not. It's similar enough to other languages you know that even if you don't know it, you can figure it out pretty quickly. I know it's objectively an absolutely terrible programming language, and NPM is a blackhole that destroys all hopes of security, but that's where today's developers are.
Like trying to switch Emacs from Emacs Lisp to Scheme, Common Lisp, or Guile, you'll need to rewrite practically everything. Thus, Emacs must die so that Emacs may live.
Making Emacs popular again
Posted May 8, 2020 13:21 UTC (Fri) by jerojasro (subscriber, #98169) [Link]
Making Emacs popular again
Posted May 8, 2020 4:15 UTC (Fri) by marcH (subscriber, #57642) [Link]
The GNUstep/macOS interface needs a rewrite too, apparently: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24472
> the keyboard shortcuts are different than other programs,
Readline is everywhere and it uses the (basic) Emacs shortcuts.
BTW "jed" is a my favorite, "low-end" editor wit Emacs shortcuts. There are many others. Using one of them can help with this transition _if_ you're interested in a "text-editing Operating System":
> but I am saying that it's for those who are willing to learn, seeing some extra work as the aforementioned long-term investment, and who have the patience reach a worthy goal a little later rather than right this very minute.
> "Terminal-based Vim is not like a modern application, yet is more popular than Emacs."
What fascinates me is: vim is apparently the last _modal_ editor left. I don't think I could ever get used to "modal editing", because I _always_ forget which mode I am in. Anyone knows what's wrong with me?
PS: once again, an LWN article that saves hours and hours of reading mailing-lists. Thanks!
Making Emacs popular again
Posted May 8, 2020 9:34 UTC (Fri) by mgedmin (subscriber, #34497) [Link]
Nothing!
I've been using Vim for 20 years. I still get mixed up in the modes.
What I think happens is that us Vim users get reflexes. When we see the text in the buffer doing something nonsensical, reflexes kick in and the fingers automatically do <Esc> <Esc> u (for undo), maybe repeat the u until the text in the buffer starts making sense, and then repeat the editing action.
When undo doesn't work right, or repeating the action doesn't do what I want again, there's the second level of recovery: turn CapsLock off, then try the <Esc> <Esc> u ... procedure.
TBH I'm skeptical about the claims that vim makes editing more efficient than other editors, especially modern IDEs. But it certainly makes editing more _fun_. I'm sure the time I spent tweaking my .vimrc or writing custom Vim plugins, or debugging a macro to do repetitive changes to multiple files takes longer than just doing the editing manually the boring way, but that would be _boring_.
Making Emacs popular again
Posted May 8, 2020 11:55 UTC (Fri) by mpr22 (subscriber, #60784) [Link]
vim recognizes this, and unlike some implementations of vi, it actually indicates at the bottom of the screen which mode you're in if you aren't in the default mode.
Making Emacs popular again
Posted May 8, 2020 12:22 UTC (Fri) by pebolle (subscriber, #35204) [Link]
Both terminal emulators now recognize the escape codes (or is it ascii codes, I forgot) to change the cursor. So in these emulators programs can switch the cursor to "|", "_", and to a solid block.
This allows vim to emit these escapes code before changing modes (there are special hooks for that in .vimrc, whose names I also forgot). And so one can make vim use eg. "|" for INSERT, "_" for NORMAL, and solid block for REPLACE.
(But do note that I stopped using a .vimrc altogether. My .vimrc grew so unwieldy that I decided I would be happier without one. It turns out that this is the case. So I'm not at all sold on the configurability of vim. Neither would that feature endear me to emacs, if I would use that editor, which I don't.)
Making Emacs popular again
Posted May 8, 2020 12:34 UTC (Fri) by mpr22 (subscriber, #60784) [Link]
automatically switching formatoptions from tcqn (the intuitive-for-me behaviour for "plain text") to crqnj (the intuitive-for-me behaviour for "code")
setting cinoptions to conform to my personal coding style
setting expandtab when editing non-Makefile code
clearing expandtab when editing Makefiles
setting expandtab, sts=4, and sw=4 when I am editing documentation written in Markdown
Making Emacs popular again
Posted May 8, 2020 12:44 UTC (Fri) by pebolle (subscriber, #35204) [Link]
Yes, that's quite a chore, but I personally couldn't summon the strength to start a new .vimrc from scratch. Yes, I know, I'm weak.
Making Emacs popular again
Posted May 8, 2020 13:52 UTC (Fri) by mpr22 (subscriber, #60784) [Link]
That file might as well be called $HOME/.vimrc :)
Making Emacs popular again
Posted May 8, 2020 13:30 UTC (Fri) by jerojasro (subscriber, #98169) [Link]
Making Emacs popular again
Posted May 8, 2020 7:01 UTC (Fri) by Jookia (subscriber, #128586) [Link]
Copyright © 2020, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds