Who Needs Modern Emacs? (batsov.com) 135
Bozhidar Batsov writes: Every now and again I come across some discussion on making Emacs "modern". The argument always go more or less like this - Emacs doesn't look and behave like and the world will end if we don't copy something "crucial" from it. [...] If you ask me -- there's pretty much nothing we can do that would suddenly make Emacs as popular as VS Code. But you know what -- that's perfectly fine. After all there are plenty of "modern" editors that are even less popular than Emacs, so clearly being "modern" doesn't make you popular. And there's also our "arch-nemesis" vim, that's supposedly as "dated" as Emacs, but is extremely popular.
I use vi, you insensitive clod (Score:5, Funny)
Re: (Score:2)
Answer: I don't, I use vi. Just because it won't let me out...
That's the first thing they should teach you in Sunday school. Seriously, I think vi is one of the most touch-friendly of the old school editors. For editing texts written in the English alphabet, the only key combos that require you to do a two-finger salute involve the shift key. And on some touch screen keyboards you don't even need that shift key, since you can press and hold a virtual key to select from a popup of alternate.characters, say, to get capitals or the colon "above" the semicolon key. For th
Re: (Score:2)
>the only key combos that require you to do a
>two-finger salute involve the shift key.
As a grad student working on the program for my method, I actually needed medical treatment from using EMACS heavily for a week.
With the infernal control key in exile (CKIE keyboard), I had to rotate and reach it *so* many times that I actually muscle in my left pinkie finger!
just by coincidence, a couple of days later a little piece appeared by the side of the keyboard one morning when I came in. Now, *I* would nev
Let's start a fire (Score:4, Informative)
Q: Who needs modern Emacs?
A: No one when you have vim.
Re: (Score:3, Insightful)
Nano does everything you need for config editing without a clunky interface(important when you have fine motor dyspraxia), and for coding there are better environments, so no point going with Vi, emacs or any of their derivatives. And for mass text editing, well, there are better editors for that too, that don't cause my hands to cramp up within minutes. The irony is that for me, a mouse or trackball is less painful than keyboard-only use nowadays.
Re: (Score:3)
vi is good. TECO is better. :-)
Re: (Score:2)
so funny
but you had to be there
Re: (Score:2)
a distant galaxy. Long ago, far away...
Re: (Score:2)
no shit
Character editor. Command line editing hundreds of thousands of lines of macro-11 code for a commercial industrial installation. So much visualization; not unusual to see a coder working with eyes closed.
It's how I learned to always work with code that was working. Zero errors.
Might as well have been clay tablets and carving sticks.
Re: Let's start a fire (Score:2)
DEC Basic had no renumber command (!). My pride and joy was a 300+ line TECO macro to just that. It was very popular at DECUS conventions.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
I use vim primarily, but it misbehaves on some of the platforms for some things and there I use emacs to fill in the gap. Heterodoxical workarounds for issues is an easy way around limitations. Sticking to a monoculture is only going to give you mono in the end.
After 35 years, it's all muscle-memory (Score:2)
Including a dose of "EMACS carpal tunnel" in the left pinkie...
Older generations, that's all it is. (Score:2, Interesting)
I think you've touched on the core of the issue here. In my experience it's not a "this editor versus that editor" flamewar. It's the older generations of programmers defending the tool they used every day for a good number of decades. By attacking their editor choice you're attacking a part of their identity, and that never ends well.
Re:Older generations, that's all it is. (Score:4, Informative)
I've been using emacs since (edited to protect the ancient) and I despise it almost as much as I despise vi. Good lord, my kingdom for a decent shell editor that doesn't require you to type sixty-five different key combinations just to open a document, edit one line, save it, then close. They all suck at the one job they're supposed to be good at, and I'm one old timer that doesn't mind saying it.
Re: (Score:2)
For simple config file changes etc via the CLI, Nano is acceptable, not too straining on the hands.
Re: (Score:2)
Re: (Score:2)
What you describe isn't emacs, it's a monkey with a typewriter. And if it's only one line, why aren't you using sed?
Yeah, the key-combos are arcane. But the keyboard's limited, and emacs isn't.
But modernizing emacs is exactly what it doesn't need. You want a modern editor, there are options that aren't called emacs.
If you're using a DECwriter, vi is fantastic. :p
Re: (Score:2)
Im an emacs guy too, well sort of , I use mostly the IntelliJ editors now. But if I have to spend quality time with a server, and Im allowed to, emacs is usually the first thing I install (As well as git cloning my configs and customisations) However I have to concede that I'm using it a lot less than before. If I just need a quick snappy config file edit Nano is a no brainer, although begrudgingly sometimes that'll be vi even though I really have no idea what I'm doing in that editor. ANd for coding, well
Re: (Score:2)
Try Jed.
It's like someone decided they wanted the emacs editor, with all the same keystrokes, but without the operating system, and FFS write it in C instead of LISP.
Also, BTW, I love when someone proudly lists all the BASH key combinations they use, but then tell me they use vi and can't stand emacs :-O
Re: (Score:3)
I think you've touched on the core of the issue here. In my experience it's not a "this editor versus that editor" flamewar. It's the older generations of programmers defending the tool they used every day for a good number of decades. By attacking their editor choice you're attacking a part of their identity, and that never ends well.
More to the point, any "attacks" are unnecessary. As long as whatever editor you use does what you need it to do, especially in a way that's comfortable and helps you be productive, who cares which editor it is. Also, pick the tool for the job at hand. For example, for small things I use Vi(m), but use Emacs for larger/longer edits -- or things I want to write/record a macro for, but not necessarily write a separate Perl / Ksh script, etc...
As for me, I've used Emacs since the early/mid 1980s and it (sti
Re:Older generations, that's all it is. (Score:4, Insightful)
More to the point, any "attacks" are unnecessary. As long as whatever editor you use does what you need it to do, especially in a way that's comfortable and helps you be productive, who cares which editor it is. Also, pick the tool for the job at hand. For example, for small things I use Vi(m), but use Emacs for larger/longer edits -- or things I want to write/record a macro for, but not necessarily write a separate Perl / Ksh script, etc...
This is the detail most people miss.
Sure, if you're on your main work computer feel free to fire up whatever editor you want. Let's absolutely keep growing and expanding the list of amazing tools out there. There is no battle, no need for attacks, there is room for all to improve and for any other entrants that can join. Let's have the best of today and the best tomorrow can offer.
But sometimes you can't use those tools.
Sometimes you're on a remote terminal to a text only interface, maybe a slow serial interface, and those fancy tools aren't available.
When you're in that scenario you need tools that work there in those old low memory, text-only, low bandwidth, low cpu environments. And those tools are not Visual Studio, Eclipse, IntelliJ, or whatever other fancy tools you want. That means sed, vi, emacs, and a few other tools that are old as dirt but rock solid.
Re: (Score:2)
When you're in that scenario you need tools that work there in those old low memory, text-only, low bandwidth, low cpu environments. And those tools are not Visual Studio, Eclipse, IntelliJ, or whatever other fancy tools you want. That means sed, vi, emacs, and a few other tools that are old as dirt but rock solid.
I remember using Vi and Emacs (and JOVE [wikipedia.org]) on VT220 terminals attached to the CS Department's VAX 11/785 running BSD 4.3 when at ODU in the mid 80s (and on a few Sun 3/4 systems as well) -- as well as Rogue and Hack during my off time in the wee hours of the night/morning. Actually a pretty satisfying experience compared to a graphical environment -- feels closer to the system. The only editor I've probably liked as much as Emacs was the one on the Xerox Dandelion 1108 LISP system I used as an undergraduate
Re: (Score:2)
With other editors you're restricted to what's coded in the edtior. If you don't see what you want with Emacs, you can create your own command... it's EXTENSIBLE.
Most of the popular editors today are extensible. Perhaps all of them. I used Multi-edit on Windows for about 30 years and it was always extensible. Sure, it was slow, archaic and hadn't been updated since 2008, but I had it totally tweaked out just the way I liked it, including some custom extensions I'd written myself. I finally gave up and m
Re: (Score:3)
It's the older generations of programmers defending the tool they used every day for a good number of decades.
No. My younger colleagues (23 -30 yo) all spent time learning vim. I gave them my .vimrc with my plugin and the youngest of them wa determined to be able to use it as an IDE so they could get rid of Jetbrains.
A year later he had surpassed my vim skills an was sending me back .vimrc revisions as a way to thank me for introducing him to the most powerful editor made for programmers.
I'd say it was an isolated case however if you look at nvim, with the structural improvements and then put that in VSCode (y
Re:After 35 years, it's all muscle-memory (Score:5, Interesting)
Including a dose of "EMACS carpal tunnel" in the left pinkie...
Remember the older Sun keyboards with the Control and Caps-Lock keys swapped -- Control above the left Shift and Caps-Lock below? Being an admin in places with those *and* non-Sun systems was fun... :-)
Re: (Score:2)
I once visited a computer club, where some of the guest terminals were old SUNs with those keyboards... To add to the murder-tick in my eyes, on the other side of the room sat the old monkeys with their Model M keyboards, achieving 45WPM at most, but sounding like a series of dry tumblers filled with gravel.
Re: (Score:2)
My Model M will die when I can't operate it anymore.
Re: (Score:2)
> with the Control and Caps-Lock keys swapped -- Control above the left Shift and Caps-Lock below?
that wasn't a Sun thing.
That was pretty much *every* keyboard until an IBM exec got his undies in a wad because capslock wasn't in the same place on an AT as on a selectric keyboard.
And so, midway through the life of the AT, the control key went into exile, and the world became a darker place.
I *still* remap my keyboards to put control where God Meant it to be . . .
Re:After 35 years, it's all muscle-memory (Score:4, Informative)
Re: (Score:2)
Lots of muscle memory.
Emacs keystrokes became embedded in a number of tools. bash, tcsh, Interleaf (publishing). I think Netscape once had them too.
I learned on DOS with microemacs, joe and finally Freemacs.
Before that wordstar keystrokes were embedded in the Turbo products and a number of other editors.
I learned vi on DOS with calvin, stevie, elvis, Elvis was the standard vi on Linux in the early days.
I finally got to use GNU emacs (and xemacs or Lucid emacs) with Linux and sysadmin on the various Unixe
Re: (Score:2)
Some EMACS keystrokes are built into Apple products, including Safari when entering text....
Depends on what modern means (Score:2)
I do mostly use Aquamacs - EMACS that is somewhat better integrated into the Mac, so it supports some system features a little better. However I'm still mostly using the same key commands to move around or between buffers, or even for window management (like placing a buffer in a new window).
So I'm not sure if that's considered a "modern" variant but I do like using it in system, instead of terminal windows.
Modern Emacs? (Score:2)
Eh, I don't think "modern" is that important to someone who chooses emacs. For what it's worth, I used to use emacs as my main editor, but I ended up switch to vim. After getting past the learning curve I found that I preferred vim (or nvim), and some variant of vi is pretty much always present on any Linux system. I've also found myself using VS Code quite a bit, but vim is still my main editor, especially from the command line.
Re: (Score:2)
Aquamacs (Score:4, Interesting)
Aquamacs is GNU Emacs with changes to make it suitable for MacOS. Ie, using standard MacOS keys for some operations (Command-Q to quit), tabbed windows, etc. It feels modern enough. For a programmers editor, it covers it all and does not feel in any way ancient. Do all the stupid stuff that modern editors do for people who hate to use a keyboard (drag and drop text if you want). Generic GNU Emacs on Linux (and thus also on Windows via WSL) isn't too far behind but it does require a bit more upfront effort to configure it how you like.
Not sure what this topic is about, except maybe to start flame wars?
Re: (Score:2)
GNU Emacs has drag and drop of text as well, though it does have to be turned on. It is limited to the current frame though. It also accepts dropped text out of the box. And CUA mode is a checkbox away.
Normally I don't want it to be too easy to quit Emacs, since I often try to do so by mistake and I want to keep it running. Muscle memory from years of using low memory systems is annoying at times.
Re: (Score:2)
Switched to Windows/Linux from MacOS this year, and muscle memory of Aquamacs is making it a bit annoying on generic Linux GNU Emacs. Like wanting to do Command-S to save files; which ends up being Windows-S...
Still, I haven't found anything better than Emacs. The IDEs all seem in the Visual Studio and Eclipse style, wtih one big window but only one editing window at a time, insistence on creating a project (I just want to type the file name), and refusal to be a generic editor (I can even view and edit bi
Re: (Score:2)
You can bind Super-S to save, and that won't collide with anything important.
There is little in the way of editors which come close to Emacs, which actually is surprising. But there are few editors which have the kind of legacy Emacs has, stemming from a time when it was self evident that you could use your editor to edit, well, anything.
I also find that with the "which" plugin, Emacs becomes really easy to use (and learn). And with something like "selectrum" and "consult", Emacs is a truly amazing at analy
Who needs sentences that parse? (Score:2)
WTF?!
Re:Who needs sentences that parse? (Score:5, Informative)
In the original article, the sentence reads "The argument always go more or less like this - Emacs doesn’t look and behave like <insert here some trendy editor of the day> and the world will end if we don’t copy something “crucial” from it."
As usual, the Slashdot editors... haven't.
I use emacs everyday. (Score:4, Interesting)
As for Visual Studio, I abandoned that back when it was still proprietary 15+ years ago. And as for the new latest greatest Eclipse, JetBean's yea they look great. And I am sure they work great. But I don't need the extra frustration and overhead.
But of course, writing code/compiling from the command line is old school and not for all projects. And I don't expect others to do what I do.
Re:I use emacs everyday. (Score:4, Funny)
[puts on Nomex suit]
Emacs is a pretty good OS. All it needs is a good text editor.
[runs and hides]
Re: (Score:2)
1990 called. They want their joke back.
Re: (Score:2)
At least we both remember 1990.
Re: (Score:2)
Re: (Score:2)
That's an artifact. I'm very difficult to take stock of.
Re: (Score:2)
Does anyone remember "Eight Megs And Constantly Swapping"? That sounds so quaint today.
Re: (Score:2)
>But it does what an editor needs to do and does it well.
that's *old* news. vi mode was added decades ago!
Modern Emacs? (Score:3)
Not sure what that means or why it matters. I've been using Emacs since the early/mid 1980s; it's fine and does everything I need it to do -- and if there's a shortcoming, it's super extensible using Emacs LISP. For quick things, I'll fire up Vi(m) but for serious work, it'll be Emacs. Go on and use something else, but sooner or later there will an Emacs Mode for that (too). :-)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Ugh. Responded to the wrong post.
There's an Emacs command to fix that.
Nobody (Score:3)
Emacs works fine as it is. Stop trying to "improve" it, it makes things worse.
Re: (Score:2)
Re: (Score:2)
Indeed. The Windows GUI also comes to mind. Has pretty much been finished since Win7, now they are making it worse. Or Linux systemd. A "solution" in search or a problem that basically gets everything wrong, is far too complex and replaces light-weight solutions that worked nicely.
Emacs is modern enough. (Score:4, Insightful)
I think what people really mean by "not modern" is that it's too hard for them to learn so they want to make it like a baby's toy.
Re: (Score:2)
There are many choices. (Score:3)
Re: (Score:2)
edlin made you happy?
I think that's called masochism.
Emacs? Ed! (Score:2)
Only needs updated documentation (Score:3)
Re: (Score:2)
no, that would violate zuckertwit's paid brand placement!
What's the problem? (Score:2)
Modernizing emacs shortcuts can probably be done in an afternoon by some lisp expert. It most likely has been done already (spacemacs.org ??). So what's the big deal?
Re: (Score:2)
You have created a new standard, rather than replacing the old one.
https://xkcd.com/927/ [xkcd.com]
Re: (Score:2)
There needs to be an xkcd comic for how often people quote xkcd 927.
arch-nemesis? (Score:2)
And there's also our "arch-nemesis" vim, that's supposedly as "dated" as Emacs, but is extremely popular.
Comparing Emacs to Vim is like comparing a kitchen sink to a *much* smaller non-kitchen sink, with no running water, in the shed -- that you could put into that kitchen sink, when it needs to be washed. :-)
(Note the smiley face.)
Re: (Score:2)
Re:arch-nemesis? (Score:4, Interesting)
Once, yes. Now, they're both tiny compared with the GTK and QT toolkits.
vi was a brilliant piece of programming. vim took away what made vi great, and added nothing useful. It's a morse code transmitter with a keyboard. ;)
Re: (Score:2)
What did vim remove that vi had?
No annoying popups or tooltips (Score:3)
Emacs has been my daily driver for about 30+ years for reasons that changed over the years. Tags searching, integrated build and vc, integrated rmail, my own custom lisp extensions, syntax highlighting, and so on.
Some are everywhere now (search, highlighting, build), some are now moot (rmail), but newer editors seem to use the mouse as their primary UI, even if they grudgingly give you key bindings for some things. Or pretend to have emacs bindings to pull in grandpa.
That just busts up my flow. And the constant tooltips in VS is like watching a freaking cable news show about your code. (BREAKING! unsigned int!!) I've used most of them, but keep coming home to emacs.
Re: (Score:2)
This ^^^^
Every time I manage to turn one off one of those tips/reminder windows that always obscure what I'm trying to type, it seems that another becomes enabled to take its place. I dislike popups on web pages and I really dislike them in an editor. I like VS Code despite it being a resource pig but, Jeebus, where's the master switch to disable all the hand-holding?
Re: (Score:2)
I still say that search and movement in emacs are better than in any other editor. With extensions like Avy, Helm and Consult, it's far easier for me to narrow a file down and put the cursor exactly where I want it, which is half of what I'm doing in the editor in the first place. I've started using Transient (the system Magit uses to construct its very nice little menu/command execution stuff) to make it easier for me to construct commands to fire off command-line builds.
Have I mentioned that I'm doing thi
You do not listen.. (Score:2)
There was a phrase I heard in an old movie, forgot which movie. Something like, which was interesting at the time.
You do not Listen to Hendrix, you need to hear Hendrix.
That is how I view Emacs, you need to "hear" Emacs. After investing the time, you will find out how powerful it is compared to anything else.
Yes, it can do things easier than no other editor does. A couple of examples:
1. Need to edit a file on a remote server via ssh ? Emacs easy, and that is with ssh encryption.
2. Get a manual for a function ? Easy
3. Source Code Control with git (+ github),
Who needs emacs? (Score:2)
I love emacs but I very rarely use it anymore, mostly just when I want to do some work on a script (or I want to use a macro do make a bunch of changes to a file). The problem is it's kinda lost its niche.
It's a fantastic text editor, but if I'm writing a document I want a word processor, and if I'm writing code I want an IDE that has a deep integration with the underlying language. I suspect there's emacs plugins that make it fairly capable at both of these tasks... but I'm not really willing to go hunting
Modern fully programmable editor for sure (Score:2)
The real appeal of Emacs is endless add on Lisp packages available and relative ease of rolling your own if need be. The later has a learning curve, but certainly peace of cake compared to adding a feature to a conventional editor.
Would be great to have a modern alternative. It can in fact be much easier to program than Emacs through modern programming features like auto completion and ability to trade off performance for simplicity vs hardware for which Emacs was designed. I guess I should look at things l
Obligatory (Score:2)
"Emacs would be a great operating system, if only it had a decent editor."
No one (Score:2)
At this point Emacs is so much better for editing code than VS Code that anyone that thinks Emacs needs updated to be like VSCode clearly isn't thinking straight.
On top of that, Emacs does many, many more useful functions beyond editing code that it makes very little sense for me to switch out to a different app just to edit one type of text.
Emacs is not VS Code; it is far superior and if there are a lot of VS Code users that's because most coders are shit - hence the popularity of Python.
No thanks (Score:2)
That way, I can see all the commands available to me and the save and close buttons.
I use vim only (Score:2)
I do use VS Code and Xcode once in a while, but pretty much all of my meaningful editing are on vim...
The only thing I miss is Intellisense (Score:2)
I've been a die-hard Emacs user since I was introduced to it in 1989.
One of the only things I miss is useful and ubiquitous Intellisense-like contextual hinting and auto-filling. I know there are about a dozen elisp packages that try to do this but none are as good as Visual Studio and Visual Studio Code, IntelliJ, etc.
Brief (Score:2)
Give me a version of Brief that runs in Linux. In the eighties and nineties, it was *the* programming editor everyone use on PCs. Simple, easy to start with*, and you could go very far in it.
* As opposed to emacs, which I *think* I remember how to exit from.
Emacs, the windowing operating system masquerading as a text editor.
Religion (Score:2)
People tend to stay in the religion that they grew up in.
Let me be Brief (Score:2)
I started out with emacs with "Brief", a programming editor
by some folks out of Brown U. which basically cloned some
version of emacs, which forced me to learn a bastardized
version of lisp to make it work on a non-standardized
version of IBM-BIOS so I could remap the key-bindings
to something rational. That and Turbo Pascal launched
my career, along with a copy of Lattice C and an early
version of K&R C. I'm 60yo now but I do look fondly
back on those days and still use xemacs on Win7.
Re:Emacs... (Score:5, Informative)
Notepad++ runs on Linux, so I pretty much always use that.
I only used vi at work, because that's what was always available on all machines I had to log on to.
3 decades ago I had my whole IDE built in Emacs. But that was then :)
Re: (Score:2)
You don't need Emacs on every system. I've been using "Tramp" mode in Emacs to edit files on remote systems for years. Connecting to multiple systems and editing two files in split-screen mode makes it a piece of cake to compare files on different systems or to cut-n-paste from a file on one system into a file on another system. Works great on a low-resource system that won't even load VS Code without thr
Re: Emacs... (Score:3)
I did some stuff with microemacs a few decades ago, but more with EDT on VMS. Then I ended up in vi, and now vim.
For me vim is a pretty nice editor since it allows for some pretty advanced regexp search and replace where many other editors fail.
Re:Emacs... (Score:5, Interesting)
I learned to code in Emacs in the early 80s. I wouldn't use it for that today though, a modern IDE supports that task much better. So what does anyone need such a powerful *text editor* for?
I tell you one thing I use it for -- exploring complex datafiles that have a character compatible encoding. There's nothing that beats emacs for that.
Re: (Score:2)
I'm not one who has any need for IDE functions whatsoever (you know, not all work done in text editors involves working in source code trees) I still use EMACS for daily stuff. If the system has only vim, I'll use nano instead. I don't often need to use EMACS features I just prefer it in a comfortable old pair of shoes sort of way.
As to TFA: If one thing was going to make me leave EMACS, it would be the attempts to modernize it. Every time I get on a fresh system they've done something to make it "moder
Re: (Score:2)
Re: gnu nano (Score:2)
Edlin to the rescue.
Re: (Score:3)
No, UNIX came first. Get it right. :)
That includes the base Darwin was built on.
Re: (Score:2)
It's not really a control freak mentality but more a realization that emacs was designed around computing paradigms that don't really exist that way anymore.
1. Computing used by a bearded priesthood, not the masses.
2. Using keyboards with a LOT of specialized keys like the Space Cadet Keyboard.
3. On machines that didn't have GUI's by default.
Take a look at the emacs wikipedia page. Two of the screenshots basically shows emacs being used as a windowing system with code, a shell, a web browser AND Norton Com
Re: (Score:2)
None of us had beards, we were too young. Well, some had beards, but they were showing off.
The thing about emacs was that in 1988, when I started learning Unix, emacs knew shell scripting. It knew C and C++, and auto-indent wasn't a thing in most other toolsets. Color-coding syntax, which is ubiquitous now, was unusual then-- because you needed a terminal that supported color.
But today, 34 years later, emacs still knows every language I work with-- including puppet, yaml, ruby, python, perl-- it doesn't
Re: (Score:2)
There's probably an Emacs command that automatically inserts lengthy phrases like "bearded priesthood" for you with only a couple of keystrokes. :^D
My first "micro" (XT clone in '84) came bundled with a DOS software suite that used (wait for it...) Emacs keybindings. I didn't actually use Emacs -- well MicroEmacs -- until I started dual-booting Coherent on the ALR/386 I had way back when. Nowadays, I look for Emacs compatibility in an editor but have yet to find it. (The supposed Emacs extensions for VS
Re: (Score:2)
Re: (Score:2)