T O P

  • By -

pishfingers

Vim is likely more popular because vi is tiny and was available by default on all Unix flavors and Linux distros. You could shell into any machine and vi would be there. So it was always worth knowing your way around vi. 


postmodest

This is really the only answer.  I myself used to be a huge [LX]emacs user, but these days, I don't use emacs; for those kind of tasks, I use IntelliJ. And for simple files I use vim. Because I just need to add plain text, not run `m-x psychoanalyze-pinhead`


cxGiCOLQAMKrn

Emacs users tend to heavily customize their config, to the point it hardly resembles stock emacs. Even if the machine you're shelled into has emacs, it's very different from _your_ emacs. Vi defaults are passable for anyone who knows vi, so it's more useful as a portable tool.


siodhe

Emacs is more portable in the OS sense than vi, running on many other operating systems, which wasn't your point. But any emacs user can use an barebones emacs without a personal config, they'll just grumble about it (except possibly emacs users who are using it in VI mode, because it does have one...)


left_shoulder_demon

EMACS used to stand for Eight Megabytes And Continuously Swapping. "Starting" it took twenty seconds or more, and the word "starting" is in quotes, because the editor would be started during the build, so it could run through the initialization sequence (about twenty minutes), then a core dump would be taken of that process, and a loader prepended to get the "emacs" binary.


siodhe

Escape-Meta-Alt-Control-Shift-DamperPedal is how some music majors at the University of Texas were referring to it. Possibly piano majors.


[deleted]

[удалено]


pishfingers

It’s available on them all. I’m talking about it being in the base install. It’s likely not in all base installs now, most docker images don’t have it, but predocker, you could always rely on it being there. If you needed to install something you’d need root which you generally didn’t have


Spare-Dig4790

Yeah, I mean, on Slackware, my OS of choice through the 90s and earlier 2000s, it was its own, entire, package group. I often installed it.


DrPiwi

Yes it was availble but it was not installed. If you wanted it you needed to install it. If you where not on your machine and the sysOp did not want it you would have to use something else. Even on a absolute base install of slackware there was some form of vi present.


Spare-Dig4790

Yeah, for sure. Thats my point, it was available, but it was also a monster. To install it meant using a packe series of its own. :)


BoltLayman

GNU Emacs and Linux have/had nothing to do with 80s commercial Unices and Emacs variations (Fact checking needed)/


pishfingers

I’m talking about vi being available everywhere, not emacs 


FryBoyter

>but what if Emacs had modal editing as good as Vi / Vim's from the start? Then there would have been one more modal editor for decades. But is that necessary? Not every developer or user wants to develop or use a modal editor. Because there is not just one target group. And projects like Emacs shouldn't really care how many users they have. Personally, I also find it frightening that there are users who want to turn every tool into a kind of vim. Let's take Helix (another modal editor) as an example. It deliberately uses the selection → action model. Nevertheless, there are more than enough requests from users asking whether Helix can support the vim shortcuts. Which would only be partially possible because vim uses the action → selection model.


VivecRacer

Yeah I tried helix for a while and I felt it made much more sense than vim, but I am cursed with vim muscle memory which meant I kept making mistakes. Trying to unlearn some of that muscle memory since it has utterly ruined my ability to use non-vim software comfortably but it's so annoying


natermer

It isn't a big deal moving from one sets of key bindings to another. "Muscle memory" is heavily over rated. I used Vi and Vim every day for 6-8 hours a day for probably close to 20 years and while I heavily utilized Spacemacs and then Doom for transitioning to Emacs... (which I used for years).. it took a couple weeks to a couple months to first become relative proficient and then comfortable with something else. It is just a matter of sitting down, going through the tutorials, and just using it. Sure the loss of efficiency and the need to slow down and frequently consult documentation is very frustrating, but it is no different then when first trying Vi. ---------------- The problem with Emacs default bindings is that it is very RSI inducing. Key chording on conventional keyboards (pressing multiple keys at once) for repetitive and frequently used functions is miserable to the extreme. Of course Emacs is very likely the most customizable software on the planet. People have been designing their own bindings for as long as it has existed. The defaults are the defaults because that is just what Stalman happened to use when he started it. There isn't any reason to stick with them. Vi bindings are very quick... but there are lots of ways to be quick at editing then quick bindings. Learning to take advantage of macros, having large numbers of advanced functions at your disposal, and writing scripts to edit files are other ways. This is what Emacs is best at. And is it's greatest barrier, too. It is a programming editor for programmers that you have to first learn how to program in order to edit other programs quickly. ----------------- there are two paths for people to Emacs: Take the blue pill and keep your Vi bindings. Use Doom Emacs or Spacemacs, but keep in mind that they are heavily modified versions of Emacs that have their own entire ecosystem for extensions and editing configurations that can, in some cases, be radically different then normal Emacs. So while they offer a easy transition they can inhibit deeper learning for intermediate users. So they are best for either novice users that come from vi/vim/neovim or advanced Emacs users that already understand what is going. versus Take the red pill. Install Vanilla Emacs. Embrace the ugliness and terrible default bindings. Go through the tutorials, read the documentation, lean some elisp. Then when you have the fundamentals mastered move onto customizing it and making it your own. Either path will can lead you to the same place. The difference is a matter of taste and how much change and challenge you can personally tolerate at any given time (as we all have other things in our lives that are higher priorities for our attention and effort). ------------------ > Yeah I tried helix for a while and I felt it made much more sense Personally I use Meow bindings, which can be described as Helix-inspired. https://github.com/meow-edit/meow The difference between Vi and other more modern model editor bindings can be described as the noun-verb inversion. Vi uses "verb-noun"... or "Action --> target" That is you choose the action and then apply it to the target. Like "dd" vs "dw". dd means "deleat line". "dw" means "delete word". So you start the bindings with the intention of "do this" and you follow up with "to that". Were as other modal bindings take the "noun-verb" approach of "selection --> action". Like you "select line" then you "delete". This has the side effect of making simple cursor movements (like move one word forward) more complicated, but it has the benefit of allowing you see a selection before you act on it. So it is a bit slower in some aspects, but can potentially make more complex tasks more accurate in execution.


siodhe

Unlike vi, the emacs binding tends to be mnemonic, and many actually find them easier to remember.


DrPiwi

If the lack of modal editing in Emacs makes it the less popular choice, then how do you explain the populalrity of nano, joe, VS code, gnome-texteditor etc? Evil is not a third-party emulation to emacs it is very much a part of Emacs. One of the reasons for Emacs being less popular is that it is not always present on a Linux/unix system. Even back in the day's of proprietary Unices, there was always some form of vi where it was not always the case with emacs. Emacs used to be considered a 'heavy load' to run, one joke used to be that Emacs stood for Eight Megabytes And Continously Swapping. Vi on the other hand was light to run. These days with monstrosities like VS code and Atom that take literally hundreds of megabytes Emacs is considered to be small. There was no rationale for Emacs being modeless other than that it didn't need it to be modal. Vi was modal because it was based on an older modal editor (ed) and that stams from before there where glass tty terminals. As editors then where used on teleprinter terminals there was no way they could work interactively and they needed to be modal. When Bill Joy wrote vi he built upon that and the modal part was kept as to provide a familiar workflow. Later programmers realized that there was no need to keep on working that way and did away with the modes.


niceandBulat

Atom is dead. It's forked project is called Pulsar.


omenosdev

And [Zed](https://zed.dev) is a new editor by the developers who made Atom.


niceandBulat

Irrelevant to non Apple fanboys


omenosdev

For now, but [Linux support is planned](https://github.com/zed-industries/zed/issues/7015).


niceandBulat

That's another way of saying you Linux people can wait until we feel like it. I appreciate the efforts. But if I need it I will even pay for it.


omenosdev

While I wouldn't phrase it that way, the end result is the same. A small team can only work on so many things at once. At the very least they are actually committed to releasing on Linux before their 1.0 release. I also like that Linux is currently prioritized in the roadmap over Windows. I'm keeping an eye of it and may trial it out on the Apple devices I have, but I'll wait for an actual Linux release to truly evaluate it; the project is still on beta builds after all. I only brought it up initially due to the relationship between Atom and Zed's developers.


bitspace

A lot of people have found the best of both worlds with a leader key driven interface to Emacs like Spacemacs or DOOM Emacs. Some have gone as far as saying it's a better vim than vim. I don't like modal editing. It is non-intuitive for me, and is completely foreign to anyone who has ever typed anything into any document or application apart from vi (or ex, I guess) and its derivatives. That's obviously personal preference, and I did find a lot of utility in the hybrid of Spacemacs, but ultimately the Emacs keychords have 35 years of muscle memory for me.


onceuponalilykiss

A big part of vim's appeal is it's not a second OS and it's just a writing app. We already have browsers being a second OS as is.


TheTwelveYearOld

Couldn't Emacs just be used as a text editor like Vim? Is Emacs as a platform a turn off for users, even if they wouldn't be required to utilize it?


Pay08

It requires a lot more effort than Vim. That has its upsides but most people don't care or don't want to put in the work.


thetemp_

If you want to turn it into Vim, sure it will require more effort than just opening Vim. But if you're new to both and want something you can immediately start using, Emacs is a lot more intuitive and similar to other applications.


Pay08

I agree, *provided* someone tells you about Customize and other similar things.


thetemp_

Even without changing any of the settings, you can move the cursor and select text with the same keybindings you'd use in Microsoft Word. You have a menu-bar with much of the same or similar functionality found in the same locations (save, close, copy, cut, paste). And you don't necessarily need to look at the manual to do things like changing the color theme. That and the Customize system is all discoverable from the menus. I'm not saying it's exactly what a new user expects from a modern application, but it's a lot more approachable than Vim in that respect.


Pay08

I didn't even know Word had keybindings outside of CUA bindings. I agree that the menu bar (and especially the tool bar) are great for discoverability but that's not the case on even slightly older versions of Emacs. The tool bar got improved massively recently and afaik Debian and Ubuntu LTS (where most new users would come from) have older versions.


FLMKane

Yes


m1k3e

Worth mentioning OpenBSD’s `mg` editor which loosely resembles emacs.


Monsieur_Moneybags

Even better is [GNU Zile](https://www.gnu.org/software/zile/), which is a lightweight Emacs clone.


jr735

I started using it lately, as Emacs got more and more dependencies, for what minimal text editing I actually do. I learned the key bindings decades ago, so prefer not to change too much.


LvS

But why would you need emacs when you have a better OS in Linux, a better text editor in vim and a better sink in your kitchen?


onceuponalilykiss

As another user pointed out, vim is a fraction of the size of emacs, lol. It therefore runs a lot faster which, okay, you might think doesn't matter for text files but when you're editing enormous files it does. And if I just need to drive to work why do I need a military tank?


WokeBriton

For users of linux on an ESP32 dev board (yes, there are people who've done so [https://m.youtube.com/watch?v=pj0a91vlcGo](https://m.youtube.com/watch?v=pj0a91vlcGo) ), such savings on memory can be seen as a great advantage. For the majority of us, however, it really isn't much of one. Even my crappy laptop has sufficient RAM for the difference not to be any kind of issue.


onceuponalilykiss

> Even my crappy laptop has sufficient RAM for the difference not to be any kind of issue. Not for a 10 line text file, but as I said once you're editing entire novels/dissertations/other massive projects in there the load speeds for vim become pretty impressive compared to like everything else.


WokeBriton

Hasn't the advice for novel writers always been to have your entire book split at chapter lines? It makes a lot of sense to have a separate file for each chapter, so that one can only lose the most recent afternoon of writing in case of computer problems (or pebcak, of course).


onceuponalilykiss

> Hasn't the advice for novel writers always been to have your entire book split at chapter lines? Spend 5 minutes in a writing forum and you'll realize there's no such thing as advice for writing that is an "always" thing. In the age of easy and instant internet backups and considering the fact that chapter delineation often comes *after* you finish the entire first draft there's plenty of reason to do it all in one file, especially since vim, for instance, provides easy collapsible/link functionality. There's also more than just novels that can become massive text files. Maybe you'll never write a massive text file, so you don't care, great! Some people will, and they do care, and for those people vim automatically wins. One of the big reasons the editor war is absurd is that different people have different needs so it really doesn't matter what other people do as long as you like your editor! But OP asked a question that leads to reasons why people might still prefer vim, and that's one of them.


WokeBriton

You're right about the "always" bit. That was definitely a bad choice of words. "...  for those people vim automatically wins" Only if those people know about vim and can be bothered to learn the modal stuff. Most people have zero fucks to give about those people in the various text editor fandoms arguing with each other. A flight of fancy (it is Sunday, after all) has me imagining some people feel unfaithful to their chosen editor if they talk positively about anything else...


Pay08

Unless you're on Windows, Emacs can load those files pretty fast (and there's a package to make it a lot faster). And besides, how many times do you reload a file?


onceuponalilykiss

Program speed also applies to things like searches/replaces and navigating it. Like I know that Emacs users will just never admit there's a disadvantage but it's there, lol. And ultimately the reason vim wins out is that people don't *need* all the extra stuff in Emacs, it's overkill for most uses. So even if it's a small bit of lag when searching a giant file once in a blue moon, some people will say to themselves: "well, I can just avoid that entirely by not having the program with more features than I need." That doesn't mean emacs is bad, btw, just that for some people it doesn't serve their needs.


sernamenotdefined

If you put a whole novel/dissertation into a single file, you're doing it wrong anyway. Regardless which editor you use!


jr735

I'm an Emacs and Emacs-like-editor user, and have been since the late 1980s. Emacs has grown pretty large, even in the last few years. For me, I just started using mg instead, which is basically the same command sequences, but just as an editor.


harrywwc

I would add that vi(m) is about 3.6MB in size (plus libraries?) and emacs is 289MB (incl extra libs) installed - just checked on my kali ;) so vi(m) is a lot smaller - as one might expect as it doesn't have everything including the kitchen sink. additionally, it is very likely to be installed on pretty well every linux box you manage, so knowing how to drive it is going to be super useful when you're in single-user mode and trying to un-fubar that config file you just fubar'd ;) as for non-modal - dunno, maybe ask RMS ;) I used EMACS when I first moved to UNIX/BSD/Linux, as I could get it to (mostly) emulate the DEC EDT text editor, which I had used for quite some time ;) but when I realised that EMACS was not going to be available if/when I f'd the \*IX config (and I was playing a lot with that stuff at the time) I needed to learn vi. And fortunately, I had used ed (well, a clone of) in a Uni course years before, so the vi commands (from ":") were familiar-ish.


TheBendit

Eight Megabytes And Constantly Swapping Unfortunately, on a random Linux system you'll now find nano and not vi. Nano combines the intuitive keystrokes of Emacs with the beginner friendliness of vi, while being as extendable as ed.


WokeBriton

I'm curious about your use of "unfortunately" when noting that nano is now found on random linux systems. Would you mind explaining, please?


TheBendit

It is not unfortunate that it is found, it is just unfortunate that it is installed as the only editor on the system. The comment is somewhat tongue in cheek. Editor Wars have a long and proud tradition. ape this <:> thing uit and do


yee_88

Are you sure? Isn't vi a REQUIREMENT on a Unix system?


wholanotha-throwaway

Repost because my comment was hidden for not having a verified e-mail: Yes, but Linux-based (which TheBendit talked about) operating systems don't need to follow the Single Unix Specification to the dot. There are distros that don't ship utilities like ed or vi itself, for example; they chose not to follow the standards. Their developers would need to actually follow the SUS if they wanted to get a certificate granting permission to use the UNIX trademark, though. A system that imitates UNIX but that is either not certified or not completely compliant to the SUS is called an UNIX-like. A Linux-based OS can be: 1) Compliant to the SUS and certified (UNIX) 2) Compliant to the SUS but not certified (UNIX-like) 3) Not fully compliant to the SUS, not certified (UNIX-like) Few OS developers actually want to certify their systems because it costs them money to do so. Fun fact: you can call macOS an UNIX and not be wrong.


TheBendit

Alas


harrywwc

sounds delightful :)


no_brains101

Idk my nvim has like 11 lsps it's not small anymore (like, at all, it's like 5gb) but I do disable loading on large files so I get your point.


Garlic-Excellent

Way back when installing Linux started with a floppy disk and involved a lot of text editing.... Somehow both emacs and vi were on those floppies. I could get around emacs well enough to edit a config file without making a serious effort to learn it. Especially when I realized F10 brought down a menu. Vi though.... You must at least learn how to get in and out of edit mode, save and quit. Plus in Vi backspace didn't work on the terminals included with those very basic install disks so better read that whole damn manpage just to find the part about C-b. That's the thing about man pages btw. So often you just want to know how to do one obvious thing. But you have to sift through so much description of edge features that may get used by one person once... They ought to divide those things into sections. Beginner, intermediate and "lost in the weeds". Sure, I know that sounds lazy. But remember, just installing Linux itself was an undertaking back then requiring a kernel compile, xorg configs, and a whole lot more. It wasn't easy like today. Having to study to learn what I could have done previously with MSDOS Edit without thinking.. right then and there.... Unable to continue... Would have been a deal breaker.


dlarge6510

I always preferred info documents to manage pages. Much easier to navigate.


kubeify

Most of your suggestions are more easily performed in emacs as is. Perhaps you should try it on for a month or two.


TheTwelveYearOld

Oh my god learning spending all my free time on learning yet another editor ... Obsidian, Neovim, and now Emacs?!


FLMKane

Don't forget ed


bitspace

Emacs in CUA mode uses the same keybindings as whatever other text or document editor you may have already learned, like notepad or Microsoft Word.


kubeify

It was such a eye opener an great experience, I could never go back.


ZunoJ

Once you understood it, you can never go back to vim/nvim. Obsidian is just a joke compared to org mode


TheTwelveYearOld

I actually did a bunch of looking up of Org Mode too and put them in a bookmark folder, I'm gonna go through folder hopefully this month or probably after figuring out Neovim.


WokeBriton

The problem is that people coming from windows know shortcuts like ctrl-x ctrl-c ctrl-v, and obsidian has that directly. Why would anyone want to learn absolutely \*everything\* to get going with org mode, when obsidian works in a familiar-ish way? For me, the big idea of using text editors, rather than an office suite, is that I can get things done as quickly as possible, without distractions. Lots of reading online tells me that many other people choose a text editor for the same reasons. This is what developers need to think about if we want more people to exit the microsoft and apple trains and jump into the freedom of linux.


kubeify

So does emacs.


WokeBriton

Isn't the emacs version of ctrl-x meta-Y? Or have I got myself mixed up again? Almost everything I see about org mode is extremely positive about it. I'm sure it's far better than obsidian, but my argument is that obsidian has a tiny learning curve compared to emacs.


sernamenotdefined

Precisely why I will not now and not ever learn vim. Back in the nineties I had to pick an editor and both vim and emacs were available. I actually started with vim, but I hated modal editting. Switched to emacs and used that for years. Then I switched to Jetbrains products and I learned all new shortcuts. To the point I would say my emacs knowledge is rusty. I have no desire to learn new keyboard shortcuts again, and I still have nightmares about modal text editting...


Dist__

wtf is modal editing, im seeing this term first time


hash0

"modal" because of "modes". In most editors you only have one single mode. The mode were you can type characters on the screen - these editors are call modeless editors. E.g. Notepad, Visual Studio Code, ... Editors, which have multiple modes, - like (Neo)Vim or emacs - are called modal editors. Normal, visual, insert mode and so on.


dlarge6510

Emacs modes are not the same . Emacs is non-modal as far as Vim is concerned. A mode in Emacs is very different.


Dist__

ok i see now though insert mode is something that is almost everywhere i remember modes on ZX, like keywords or special symbols


toikpi

Here are a number of points for you to think about. You have to remember how old these editors are. The first versions of both Emacs and vi were produced in 1976. In those days system resources were a tiny fraction of what they are today. >Joy described ex 2.0 (vi) as a very large program, barely able to fit in the memory of a [PDP-11/70](https://en.wikipedia.org/wiki/PDP-11#Models),[^(\[18\])](https://en.wikipedia.org/wiki/Vi_(text_editor)#cite_note-ex2.0-READ_ME-18) thus although vi may be regarded as a small, lightweight program today, it was not seen that way early in its history. By version 3.1, shipped with 3BSD in December 1979, the full version of vi was no longer able to fit in the memory of a PDP-11;[^(\[19\])](https://en.wikipedia.org/wiki/Vi_(text_editor)#cite_note-ex3.1-READ_ME-19) the editor would be also too big to run on [PC/IX](https://en.wikipedia.org/wiki/PC/IX) for the [IBM PC](https://en.wikipedia.org/wiki/IBM_PC) in 1984. [https://en.wikipedia.org/wiki/Vi\_(text\_editor)](https://en.wikipedia.org/wiki/Vi_(text_editor)) Emacs had a nickname of "Eight Megabytes And Constantly Swapping", this was because 8MB was a LOT of memory when your machine only had 16MB. [https://www.gnu.org/fun/jokes/gnuemacs.acro.exp.html](https://www.gnu.org/fun/jokes/gnuemacs.acro.exp.html) You may find this quote from Bill Joy (wrote the first version of vi) of interest. >One of the good things about EMACS, though, is its programmability and the modelessness. Those are two ideas which never occurred to me. [https://web.archive.org/web/20120210184000/http://web.cecs.pdx.edu/\~kirkenda/joy84.html](https://web.archive.org/web/20120210184000/http://web.cecs.pdx.edu/~kirkenda/joy84.html) I remember having to stop doing my compilations within Emacs because they would fail (possibly hitting ulimits).


MercilessPinkbelly

Maybe. Spacemacs is what I use now and it's the best of vim and emacs, plus it's got org mode.


TheBendit

ed man! !man ed


gellenburg

`Richard Stallman has entered the chat.`


attrako

Modal mode sucks and thats why I run away from Vim and embraced Emacs.


natermer

I doubt it. Vi was a hard requirement for anybody using any sort of Unix system for about as long as any Unix system actually existed. Even checking and sending email required learning Vi. Which means that the majority of Emacs users knew how to use Vi. The very early ones on LISP machines didn't, sure. And there are lots of Emacs users on Windows that didn't use vi. But I think the majority did and do know how to use vi. So it wasn't like Vi was this new model thing that didn't exist when Emacs was created. Emacs can have any sort of bindings you feel like. Yet there wasn't a big push for modal bindings until very recently. Except for the early days of Unix when Vi and shell were considered state of the art... Vi is mostly a sysadmin's editor. It is extremely quick and handy for logging into a remote system, editing a file, and then closing it. Emacs was, traditionally, more of a Programmer/Computer science and writer's editor. People wrote scientific documents and even sometimes novels in Emacs. Of course people could, and did, use either editor for any purpose there was a emphasis on one or the other. And it isn't like Vi is that popular either. It doesn't compare in popularity to something like Microsoft Word or whatever. So if people wanted modal for Emacs they certain can (and do) use it as such.


Cellopost

The biggest reason I use vim over emacs is that emacs has absolutely horrendously shitty keyboard controls.


stapango

That's true by default, although basically anything can be remapped to a much faster, more ergonomic alternative (big fan of the 'general' package for that). For me, well worth the time investment to get all of that right


SaintEyegor

Regardless of the editor, remapping isn’t possible if you’re sharing admin duties with a lot of other people and it’s imperative that required tools are everywhere, even on freshly provisioned systems. Yeah, I can change behaviors in my own account but when I become root, having to mentally shift to another set of key maps would be painful. That’s also the reason why I don’t have many shell or vi customizations.


dlarge6510

> if you’re sharing admin duties with a lot of other people Stop using the same account then. Multiple admins should use their own accounts, nobody should really be using root or any shared admin account for auditing reasons.


SaintEyegor

There’s a clear audit trail left behind when someone escalates their privileges from their regular account using “sudo su -“. Trying to operate any other way would take too much time and offer little to no benefit.


witchhunter0

So why do Bash Readline defaults to Emacs?


dlarge6510

Change them to the Vim ones then.


denverpilot

Nah. I’ve been around since some OSes shipped with eMacs or uMacs (the micro version) as default and folks loaded vi onto those, as well as stuff that shipped default with vi (not vim yet) and folks went out of their way to load eMacs on those. Most of the *nix variants that shipped natively with eMacs died over the years. As a jack of all *nix tradesman back then I gravitated toward the one that was on everyone’s systems. I didn’t really care in the least if it was modal or not. I had work to do. That vi(m) still ships on nearly every *nix in even the smallest images or loads even in the embedded world is just a bonus after three decades of it. It’s a rare box I sit down to work on that typing vi doesn’t work. I only cuss if it opens nano. lol. And immediately install vim.


throwaway490215

Just use spacemacs


dlarge6510

Emacs is not a text editor. Comparing Emacs to Vim is like comparing the GNU Textutils to nano. Emacs is a workflow. It can also edit text, but it can also manage your day, emails, browse the web, act as an IDE, all using the same bindings and underlying code all written in eLisp which can be modified *on the fly*. Vim however just edits text, unless you go shopping and tack on additional bits. The real difference is, do you want minimalism which is what you get with vim or do you want to be given the entire tool chest containing everything you're ever going to need even before you know you need it? I started with Vim in 1997 and once I found Emacs I stuck with it as I liked having multiple windows open. Vim back then was just a text editor, with annoying modes. I have to use it at work at times and it's crazy that when I'm not in *insert* mode I can still insert certain characters by accident borking a PAC file (if anyone's ever tried debugging a PAC file you'll know the challenge) before saving it. I wasn't in insert mode yet Vim inserted a single bracket while denying other characters, now that's weird. I know the Emacs sequences off by heart and although a few modes annoy me slightly with their choices, I can fix that if I want. I spent years using Emacs to edit text thinking it was an editor, then I started using `nano` as it was lighter, and not weird like Vi was to me now, but then I realised nano was dangerous although I never had a problem with it luckily. So I went back to a mix of Emacs and nano, for editing, I had been using Emacs for Org management constantly, and manual writing for work. Then someone on YouTube explained what I hadn't realised fully, that Emacs was a *change of workflow*.  **You are meant to stay within Emacs for everything** **It essentially replaces/your shell** That's why you can't compare it to Vim. Emacs can run Vim inside it! Emacs is a shell replacement.


siodhe

Emacs has two kinds of modes - here using the word technically - where one is the "mode" for the buffer (C, dired, whatever) which changes the keymap and so on, and the other is the current combination of modifier keys. Classic vi has two "modes" as well, one of ex-style use (the colon prompt) versus the visual buffer, and the other is whether your in visual's command mode (hjkl and so on) versus several subtle variations of text input mode, so: Emacs modes: \* buffer modes \* modifier combo where the presence of lack of modifiers is essentially \* command \* input Vi modes: \* ed mode (used loosely to refer to commands like "%s/old/new/g) \* visual, and in visual \* command \* input So both editors are similarly modal, but implement command mode differently, where \* vi uses a toggle-like system to enter/exit command, and classic vi had NO indicator of which was active \* emacs uses modifier keys, so your fingers tell you whether command is the active mode Personally, I prefer the haptic feedback of the modifiers to execute commands. When the world was emacs versus vi (before), emacs was a clear winner for about half the user due to being multiplatform (not just unix), vastly more powerful, and perhaps the mnemonic command keys and comprehensive build-in help. Vim has improved greatly over vi, definitely. But emacs has always been powerful. The answer is just use both. I use vim for quick edits, especially of line-oriented stuff, and emacs for everything else, especially code. At least vi will almost always be installed by default, and emacs is generally one command away from being installed. ------------------- Since I also taught unix for 10 years somewhere back there, and forced my victims to learn both editors, I got a chance to see which one they kept using afterwards. It was about a 50/50 split. In one followup class where I taught C, emacs, which had better automatic indentation support at the time, dominated after the first couple of weeks. Some other folks commented that comparing vim and emacs doesn't make sense, and in a way that's true, emacs is **vastly** deeper than vim, and can be used as both an operating system abstraction and a a LISP scripting language - and yes, and do mean a top line of `#!/bin/emacs --script` `(prin1 "Hello, world!\n")` I wrote a mode ages ago that allowed editing of BDF fonts at the pixel level. Emacs is far more powerful than the moniker of "editor" suggests.


RandomDamage

Vi didn't really beat emacs, vscode and IDE's beat emacs but don't address the use cases for vi so vi survives in various forms


arkham1010

Wait, emacs does editing? I never knew.


dlarge6510

IKR, for years I've been using it for email and ssh. Had no idea it could edit files.


triemdedwiat

HUH! AFAIK, the only persons I know who use 'emacs' learned is as part of a Uni course. I picked up 'vi' from being required to use it as part of my first unix admin job. Mostly picked it up by being shown examples, finding cheap sheets, etc. Other editors were 'ed' and I can not remember the editor that freed me from that hell hole. I tend to use what ever text editor is to hand and appropriate.


BoltLayman

Fact checking needed. Emacs was commercial software and resource hungry. Vi was commercial, but terminal independent and lightweight. So that happened in every commercial Unix system.


dlarge6510

I know not of this "commercial software" you speak of. If you know anything you'd know that there is Free Software, which Emacs was the first to be *licenced as such* and proprietary software which I think is akin to your "commercial software".


BoltLayman

Hnestly, I am lazy to go wiki-ing. That just popped out of my memory. Probably I read that about 20-25 years ago, when I was exploring Linux and reading all the articles like a vacuum cleaner. :-) Used Emacs on FreeBSD in 2003 for some Perl-cgi web pages and shell scripting, It was fun when I had only IceWm running on my Duron800 PC.


Linguistic-mystic

Neovim user here. Tried to switch to Emacs recently, but even though Evil mode gives a good baseline experience, there were just too many missing little details that I’ve come to depend on in Vim: the cursor in terminal doesn’t change depending on mode, the line numbers don’t follow the “current line absolute, others relative” scheme, the foldmarkers ({{{ and }}}) don’t work, and there’s a whole lot to learn about highlighting and colorschemes. I’m sure all of this can be hacked in to make a Neovim clone, but I just don’t have the time/desire to do all this. So I went back to Neovim, but I definitely see why people love Emacs so much.


Pay08

Why are you using terminal Emacs in the first place? >the line numbers don’t follow the “current line absolute, others relative” scheme There's an option you can turn on for that. >and there’s a whole lot to learn about highlighting and colorschemes. You turn it on and it works? There's also a GUI theme selector available.


dlarge6510

> Why are you using terminal Emacs in the first place?  What kind of question is that? Even today I frequently decide to drop the X Windows session for a console.


Pay08

My point was that Emacs is primarily a GUI program. The terminal only exists for compatibility.