I use text files to organise myself but I use notepad++ to edit them.
I have tried to learn emacs a couple of times but I am really unmotivated - don't see any case where it would help me. I am afraid I'm missing something.
An anecdote on what you might be missing. There is nothing concrete that not using org-mode would cause you to miss out on, it is rather the possibility of being able to access one of countless workflows that have been built on top of it.
When I started to use org-mode it was because I needed to generate a gant chart and I wanted a text format. I haven't used that functionality every again. Since then I have used org-mode for a variety of things, but never all at once, always a little piece at a time. Typeset a thesis in latex? Execute analysis code in a reproducible way? Write DRY bash scripts and tangle (compile) them? Run and log the output of one-off commands on remote servers so that if you ever have to do it again you have a record of it? The list goes on and on.
Last week I was told that I needed to start keeping track of the time I spend working on different tasks. Despite keeping todo lists I have never used the org clocking functions, ye there they were there, just a C-c C-x C-i and C-c C-x C-o away. Integrated into my workflow when I needed it with all of 30 seconds of effort and two key combinations of overhead.
Emacs is useful because countless others have encountered problems the likes of which a single person only rarely dreams. Not only that but they have probably already implemented a solution that is fairly easy to find once you encounter the problem and in 80% of the cases can be used unmodified.
Yes, you and all the rest of us are missing something. It is impossible NOT to miss something and no tool can solve that for you. The question to me is whether you want to spend your time learning a tool and integrating with an ecosystem where you never have the possibility of benefiting from the things that others did not miss.
I needed to hear that; articles like this give me FOMO for emacs and lisp and the like, but the learning curve intimidates me. It wouldn't be the first task tracking application I'd be trying.
Right now I use intellij for my main development work; I use some keyboard combinations where applicable (and changed the keymap to Sublime Text because I've used it and its derivatives (vs code mainly) for the better part of my career.
I don't have a dedicated flow for task tracking. Right now for work we use Phabricator, it's a bit awkward because it's a heap of independent modules built on top of each other, but it met our requirements (free, open source, self-hosted, not shit).
For a while I used a todo.txt addon in Sublime Text, which worked great; haven't been able to find a good alternative to it.
Used Wunderlist for a while, but I couldn't find my finished tasks without paying and it's been discontinued. Same with Todoist, minus the discontinued-ness.
Anyway, I don't think keyboard-based tools for me; I'm pretty good at typing if I do say so myself (~120wpm according to online tests / typeracer and co), but I haven't developed the mental capacity to remember all the keyboard shortcuts for emacs or vim.
I also didn't grow up with *nix systems, commandline only became a thing once I started my education and career ~15 years ago.
> articles like this give me FOMO for emacs and lisp and the like, but the learning curve intimidates me
Lisp is great and you should learn it. (If you want.)
You don't need emacs for that - just find a scheme interpreter in a web browser [0] and start reading SICP [1] until you get bored. That's all the effort you need to get the mind-expanding effect. This approach is also way more fun.
If you really like it, move on to a "real" Lisp.
> Anyway, I don't think keyboard-based tools for me
Honestly, me neither.
At least, not the way they were when I used emacs as my "daily driver." Why? Because the MacBook trackpads are so precise and fast that "using the mouse" is no longer an impediment.
If you ever try to use a pre-2000 mouse and operating system with their horrible (compared to now) tracking and accuracy, the claim that mice slowed a developer down makes total sense. Nowadays? Not so much.
But you to have to know where to click. And that's the biggest problem with so-called "modern" UIs - it lacks discoverability. Either you memorize all menus and dialogs, or you have to seek out the functionality you need each time you can't remember anything. And sometimes these dialogs change, so you have to rediscover everything once again.
In Emacs, it's enough only to remember basic movement shortcuts. The rest of commands could be discovered easily with M-x and which-keys.
> You don't need emacs for that - just find a scheme interpreter in a web browser [0] and start reading SICP [1] until you get bored. That's all the effort you need to get the mind-expanding effect.
One of the main reasons I moved to Emacs (11 years ago) was Common Lisp and SLIME.
> If you really like it, move on to a "real" Lisp.
> In Emacs, it's enough only to remember basic movement shortcuts. The rest of commands could be discovered easily with M-x and which-keys.
afaik every modern IDE has this discoverability functionality. I use shift-shift and control-control autocomplete command menus all the time in JetBrains.
> but I haven't developed the mental capacity to remember all the keyboard shortcuts for emacs or vim.
In Emacs - you don't have, there are a lot of packages which make the discoverability a breeze - counsel-M-x, helm-M-x for exploring all commands with corresponding shortcuts and also which-key, which allows you to automatically pop up the "next steps" in your current state.
How about having a mental capacity to remember all menus/dialog boxes in your IDE?
> > I am afraid I'm missing something.
> You are not
You are missing an entire world treated as text and a consistent and an endlessly configurable interface for everything you can pull into your emacs Borg.
Yes, but you don't like, need that to be, I dunno, a complete programmer or person. Which is how the "cult" (tongue-in-cheek) treats it, and why this person has FOMO.
There are tons of examples of programming wizards and productivity gurus who don't use emacs. And you'll encounter lots of people who can't get shit done but who fiddle endlessly with emacs or vi or whatever configs and believe they have some super efficient direct connection from their brain to their computer.
Some of the best, most productive programmers I know use notepad, and some of the worst use emacs. ymmv.
> Yes, but you don't like, need that to be, I dunno, a complete programmer or person.
Yeah? I'm not sure how meaningful this argument is here since you can just get by with nano and a terminal.
> Which is how the "cult" (tongue-in-cheek) treats it, and why this person has FOMO.
I frequent the places that the "cultists" would most likely be and the prevailing theme is "if your workflow works, keep it, but emacs could do X for you".
> There are tons of examples of programming wizards and productivity gurus who don't use emacs.
Yeah, but that doesn't mean Emacs wouldn't make them less or more productive.
I don't think I've seen the "you need emacs" strawman your arguing against in practice.
> And you'll encounter lots of people who can't get shit done but who fiddle endlessly with emacs or vi or whatever configs and believe they have some super efficient direct connection from their brain to their computer.
Would those people be more or less productive without emacs? I find answering questions like this for myself difficult, I can't imagine trying to decide others would be better off not using an editor.
Isn't saying lots of people exist that would be more productive without the kind of presumption that annoyed you from the Emacs cult?
> Some of the best, most productive programmers I know use notepad, and some of the worst use emacs. ymmv.
Right, which is why I commented what the other user was missing and not "you need this".
Emacs is an enormous investment but every time I'm forced to use another editor or IDE I'm reminded how much it pays off. Fundamentally, all Emacs does is treat the whole world as text. Everything from that point forward is about giving you (or allowing you to build) tools to manipulate text in a way that is natural and powerful for you.
This doesn't sound particularly earth-shaking, but it really is. Think of a language like Ruby or especially Clojure, where there are a few core data structures, but many things that leverage them. This means that every time you learn part of the Ruby Array API, or a useful function to work on Clojure sequences, you get to use that _everywhere_. So all of Emacs' basic interactions (and they may seem weird to begin with but they're honestly just trying to save your wrists some pain) work everywhere. You can always trust your intuitive, spatial model of the thing you're looking at. Search backwards in a text file, find some text, select it, copy it, go back to the end and paste it. That works exactly the same in a shell. It works exactly the same in a database client. Or SSH'd into a server. Or replying to an email. Same gestures when entering commands, same gestures moving around in autocomplete popups.
Everything you learn with Emacs (and later, everything you write with elisp), has a little incremental benefit to your power and productivity manipulating text. Except everything is text, and so it all multiplies together.
For whatever reason, I've been trying VSCode on Windows the last couple of weeks, coming from an Emacs on Linux background. I cannot tell you how painful I find it, even after making a pretty good attempt to map all the keys correctly (snarky sidebar, sorry: every editor and IDE has really good Vim key bindings, but terrible Emacs support. I used to feel bad about this until I realised it was a sign that Vim people clearly didn't use Vim that much, whereas Emacs people never leave Emacs). But VSCode begins at a completely different level of abstraction to Emacs. It doesn't want to show you a text-based UI everywhere, and implement tools to manipulate text. It wants to show you windows and panels and configuration screens and extensions with their own behaviour. Everything is modal and different, some windows are special, and you can't just navigate around the same way everywhere.
So, sure, this isn't for everyone, but it's what I love about Emacs, to the point that the many regular indignities it forces on you (hangs if you're not careful about large files, abysmal performance of various things on Windows because of the overhead of starting processes, and sure, the learning curve for some people) are bearable because everything is so natural.
> snarky sidebar, sorry: every editor and IDE has really good Vim key bindings, but terrible Emacs support. I used to feel bad about this until I realised it was a sign that Vim people clearly didn't use Vim that much, whereas Emacs people never leave Emacs
[vim user] Usually I don't get baited by the holy war, but this one got me good, well played.
I don't use other editors much, but my experience with them has been that they usually do have good basic vim keybindings, but only for the default keys, and never with support for configuration; I have k-j and j-k mapped to esc, so I don't have to take my hands off the home row to leave insert/visual mode, and not being able to do that is terrible. So I don't use vim keybindings even if they are available -- it's more frustrating to put my brain in "vim mode" and then have some things missing, than to just use the default settings.
Also, it's always been weird to me how it's emacs vs vim. Vim is a text editor; emacs is an IDE and an operating system. When I'm working I'm constantly ctrl-z-ing out of vim to use other tools.
Emacs is suffering from the same problem Perl is suffering offlate. Emacs was invented for a world where Text was everything. These days programming languages are designed around tooling. This is very much true for languages like Java, Python, Go. The programming tool needs to have a lot of sane builtin defaults and extensions.
The other problem is speed of typing is irrelevant if you are working with libraries all the time, which is basically what most of the programming world does. This is also true in part for vim. The whole idea of one having to press less buttons to move text around is really a solution for a problem that doesn't exist in the modern world.
Emacs is still very good in things like Keyboard macros, and M-x Occur etc. Basically text manipulation stuff. The thing is that kind of text manipulation work isn't common anymore.
Having said that, I'd be very happy if there was a good default keyboard macro system in vscode. Or in general some emacs features ported to vscode would be really neat. Some features in emacs would make great feature ideas in vscode.
> Emacs was invented for a world where Text was everything.
Text is still a large part of computing.
> These days programming languages are designed around tooling.
Every time I see a language which requires a lot of tooling to use it comfortably, usually it's bad designed one
> The whole idea of one having to press less buttons to move text around is really a solution for a problem that doesn't exist in the modern world.
I think the idea is not about having to press fewer buttons, but to bother your brain with unnecessary things as little as possible. With Emacs, you don't have to remember "where the hell is this command and what is the shortcut for it?", you type M-x (especially if you use plugins like counsel or helm) type some related words and that's it. You don't have to know how every function works - M-x decribe-function at your service! Not enough? You can always jump to definition and take a look at it.
> The thing is that kind of text manipulation work isn't common anymore.
You still write programs in text, the commands you give to computer ARE text too, even "modern" menus are nothing but text.
> The thing is that kind of text manipulation work isn't common anymore.
Emacs has LSP plugins, if that's what you are talking about
> Or in general some emacs features ported to vscode would be really neat.
> Emacs was invented for a world where Text was everything.
Given that you're still on a computer, what do you think isn't representable as text in one way or other? You can drag and drop images from a browser into Emacs[1], and it will download the image to a sensible (and configurable) location, add a link to the file and display it inline.
> The other problem is speed of typing is irrelevant
Yes, but having an interface which is reasonable and configurable is important for managing cognitive load, and Emacs excels here.
Doing less work is pretty much the programmer creed. But that statement has several dimensions. Including having to do less configuration and tweaking work.
I think a modern lisp based editor, with concurrency/threading built in. With Racket/Clojure/CL backend with modern controls builtin would be all we need.
You still keep the emacs spirit, but with modern outlook.
> I think a modern lisp based editor, with concurrency/threading built in. With Racket/Clojure/CL backend with modern controls builtin would be all we need.
Sure, but it's the same as the "replace (La)TeX" problem: part of the value of the ecosystem is the huge collection of packages/extensions.
But if there was a reasonable way of porting packages over to a CL/Scheme new editor base, I agree that would be good.
> Including having to do less configuration and tweaking work.
Sure, but a bad, unconfigurable tool is more work.
> Emacs was invented for a world where Text was everything.
Text still is mostly everything for all of my backend programming, note taking, etc.
> The other problem is speed of typing is irrelevant if you are working with libraries all the time, which is basically what most of the programming world does.
Typing speed is far from the most important part. It's the consistent interface for everything, reduction of cognitive load, and everything being available at your fingertips in emacs.
> snarky sidebar, sorry: every editor and IDE has really good Vim key bindings, but terrible Emacs support. I used to feel bad about this until I realised it was a sign that Vim people clearly didn't use Vim that much, whereas Emacs people never leave Emacs
How could you emulate emacs? Just the keybinds would miss the point.
Is there a way to run Emacs on MacOS with an updated interface? Running Emacs in the terminal limits the functionality, but the GUI versions I've tried are garish-looking to me.
By garish-looking do you mean with the default white background and awful looking buttons?
I installed the Doom Emacs configuration and it looks really great and modern on macOS. I think you'd like it! Definitely worth a quick install to see what is possible - you can always go and make your own configuration based on that if you want
I used a few packages to get me there (though some of it can be done through configuration, it was just easier that way). The relevant bits in my config are:
On a similar note, I have found on Linux that just switching to a virtual terminal and running Emacs in text mode is an absolutely wonderful way of achieving deep focus without distractions. Obviously not much use if you need a web browser on your second monitor though.
But I don't work with text. I work with semantically meaningful code.
I don't need better manipulation of meaningless context-free lexicographical symbols. I need better manipulation of context-specific, meaningful, rich objects. I spend very little time on the former, and almost all of my programming time on the latter.
emacs used to treat the whole world as text. now it treats .jpg files as images, and based on the extension, not the magic numbers. it's mildly infuriating.
I only really use emacs for Org mode and Org mode extensions. It wasn't too hard to learn just enough emacs for that. The motivation comes from how fast and convenient org mode is as a journal and a static site generator, compared to other tools, and having all my documents in plain text for future proofing.
yes, exactly. i don't even pretend to know a shard of what's available in emacs. i think of it like being able to afford a full-size, professional mechanic's toolbox: you won't have a clue what half of those tools do, but if you run into some weird problem, you can figure out the tool and solve the problem without buying something else.
Don't worry about it too much. If your workflow works for you, go nuts with it.
But should you one day find yourself needing an informational omnitool that can be adapted to the task at hand while you work with it, you will find that there is simply no substitute for Emacs. And that's the difference between an extensible text editor and Emacs. A few lines of Emacs Lisp and some Unix plumbing can get you very far -- and you can debug it in production, dynamically updating the Lisp code as you use it.
One thing I like more about Vim is that its ideal for quick edits in the command line. I don't my whole Emacs init for that. Maintaining two sets of configurations on Emacs is not as simple as it should be.
Try configuring your environment so you run constantly within your Emacs, and use tramp to get to those quick edits. I do reach for vim when I'm on like an airgapped or DMZ'd system, so I totally know what you are saying. Tramping out to nearly all my servers has let me retain for longer the threads of flow established within my Emacs session.
Lately, I've been experimenting with CRIU preserving my tmux'd Emacs session state. So unless an OS update hits libraries my Emacs session needs to reload, I should be able to maintain a better relocatable resumable state than even the Emacs desktop alone could.
This says nothing about the matter at hand. The concept of category is useful, regardless of its impreciseness.
And some categorizations are better than others.
> Nothing’s in the same category when you look deep enough into them.
That’s also patently false: many things belong to the same category. Everything that exists belongs to the existent category, for example.
I say this as an avid emacs user: Emacs has a real problem in that it's very powerful but the, let's say, spiritual leader of the project (Stallman) is so wildly divorced from the real world because of his personal choices that he really has no idea what makes a compelling UX vs what makes a complete mess of arcane incantations. On top of that, the documentation is only suitable as a reference for someone who already knows emacs, so it's hard to learn.
To wit: Again I really really like Emacs as a piece of software, and I've been using it for like 10 years now. Maybe 3 or 4 of those years I've been using it reasonably seriously and even I find my eyes glaze over because of how dense and unapproachable the documentation is.
On top of that, being a political project, Stallman actively resists certain improvements to Emacs that would for example make it work better on my Mac, because my Mac is nonfree and Stallman would rather have an objectively poorer piece of software than one that "encourages" using MacOS.
And of course the other senior people in the Emacs project don't want to go against Stallman, so emacs is doomed to being a mediocre niche text editor with unrealized potential to become a household name.
If someone wrote an open source clone of Emacs that adopted some sane defaults, modern UI conventions, and dropped all the political BS it could be so much better.
Alas I don't have the skill nor the time to attempt such a thing.
Edit: hey how about a substantive reply rather than drive-by downvotes?
I'm genuinely puzzled about why posters like this want to make Emacs into some kind of household name if only it would do some random thing that they want.
I'm a die-hard Emacs fan, but it's a tool. It works well -- really well for a lot of us. For the rest, honestly, I don't care very much about evangelizing Emacs because I have a lot left to explore about using it first. There is 20- and 30- year old elisp out there that still runs perfectly well on a modern Emacs and probably solves some of your problems. Rendering a crop of the latest fly-by-night emoji is honestly the least of my concerns (with reference to the MacOS thing), although I personally disagree strongly with Stallman's stance in that matter.
I agree about the docs being dense and somewhat unapproachable, a lot could be done towards making elisp easier to approach. I think a big problem here is the unapproachability of any Lisp (not just Emacs Lisp) as a scripting and configuration language. In fact, I wonder if (Clojure being the first), elisp is the second most popular scripted Lisp in existence.
> Rendering a crop of the latest fly-by-night emoji is honestly the least of my concerns (with reference to the MacOS thing), although I personally disagree strongly with Stallman's stance in that matter.
Of course you do. This policy doesn't benefit you in the slightest, and since you are a macOS user already, all of your experience is telling you that this policy doesn't work.
But this particular policy is logical, and it doesn't really hurt Emacs. And, who knows, perhaps one day some talented/bored macOS developer will become so unhappy with Emacs not showing the latest fashion of emojis, they will go on and implement that support in Free libraries that are used for text rendering on GNU/Linux, and contribute it upstream.
> If someone wrote an open source clone of Emacs that adopted some sane defaults, modern UI conventions, and dropped all the political BS it could be so much better.
Emacs does have sane defaults. Did you mean instead you want defaults that remind you of the defaults in other (younger) programs that people might be more familiar with? That can be useful to gain more users. But it doesn't require an Emacs "clone", just an Emacs package with the settings you want. This approach is actually pretty popular: many people use CUA mode, Evil or even a distribution like Doom or Spacemacs. There's no need to change Emacs just to change a few defaults.
There are also package that address the "modern UI conventions" part of your complaint too to some extent, and again, distributions like Doom and Spacemacs include some of these packages. (Personally I only care if UI is practical and efficient, not if it is modern, but I do understand that some people like modern UIs for their own sake.)
> If someone wrote an open source clone of Emacs that adopted some sane defaults, modern UI conventions, and dropped all the political BS it could be so much better.
Worthy of mention, of course, is Spacemacs[1], which made Emacs approachable to me, someone who hadn't used much beyond Notepad++ and Eclipse before then.
You have to understand that Spacemacs, Doom, ErgoEmacs, Prelude, etc. are not products. They are collections of recipes. And bare-bone Emacs is not a product either. Emacs is a kitchen where you use Lisp to bake your own editor/IDE/frankensteinian toy.
Using Spacemacs or Doom doesn't liberate you from learning Lisp and Emacs internals.
> Using Spacemacs or Doom doesn't liberate you from learning Lisp and Emacs internals.
Yes it does, for me anyways, for the most part. While I definitely plan to dive deeper, I'm using plenty of Emacs stuff via Spacemacs, and I've customized plenty of stuff by copy/pasting incomprehensible elisp snippets.
Sure, but 'using' Spacemacs is still perfectly possible without learning Lisp and Emacs internals. I use magit, orgmode, tramp, and I'm in Emacs for significant chunks of the day. I'd say that doesn't only mean that I'm a proper 'user' of Emacs, but that I'm pretty serious about it!
Of course as a Lisp weenie I do intend to dive into Emacs and honestly part of the reason I don't is that I'm afraid I'll end up spending way too much time diving and tinkering.
I don't disagree. I greatly appreciate Emacs now that I know (5% or less of) it, but I don't think I could have gotten here if Spacemacs hadn't provided sane defaults for packages and keybindings.
That's the makings of great open source software- you have something very lightweight and unopiniated at the core, and distributions can pack all of the features and opinion they want on top of that to target more specific use cases. This allows you to keep the opinion downstream of the core project, so changes by people with different opinions can still find their way upstream.
Linux and Kubernetes are structured the same way- nobody is using that out of box on it's own
And that’s fine, because Emacs is not meant to be an opinionated “app” or product. And that’s exactly what makes it so fantastic, in a landscape filled with crud that’s simple out-of-the-box, and then puts you in a straightjacket forever afterwards.
Been reading Wittgenstein's Tractatus the past few days and your comment reminded me of the beginning (quoting from memory, not exact words) - "this book will perhaps be understand only by those who've already had the thoughts expressed in it or similar thoughts" :)
Emacs kind of gives me that same vibe. I used it for many years to organize my research but still have a hard time remembering key strokes and such .. though i dont have a similar issue with vim whose modal interface I find rather pleasantly compositional. So I get both the sense of power and flexibility, and the chaos of it.
If all you think it needs are sensible defaults, try just bending said defaults.
I'm somewhat curious what choices of Stallman's you think are holding it back. Feels more alive to me than it has ever felt. And that branch that is using gcc to compile elisp is a delight.
I concede I expect there are choices made that could be bad; but I suspect most of the choices people think matter, don't. Which is why i highlight the compiling elisp branch. A complete rewrite would not have had as much of an impact. And, frankly, I feel elisp is easily as good of a language as any proposed choice. Better than most.
It doesn't follow Apple UI guidelines. In 1984 we learned that having one, single, mouse-driven UI paradigm for all programs, handed down to us by our superiors in Cupertino, was an objectively superior mode of interaction with a computer, saving many lives' worth of time and brainpower over the years. Yet somehow, Stallman remains so empathy-deprived as to be stubbornly unenlightened by this knowledge.
I just suspect that people here on HN are coming from the upper portions of the software developer spectrum in terms of experience, aptitude, enthusiasm, and training--there are plenty of other people in the world who do software development but lack some of those things. For my own part, I graduated with a bachelors in computer science having only heard Emacs mentioned once in a course (at the beginning of the second course in the intro sequence) by a particularly enthusiastic professor, and I never heard anyone talking about Vim or Emacs at my first job, where everyone more or less had to work exclusively with Visual Studio and an in-house IDE.
I'd say there is a fair few beginner Linux users who have followed a tutorial on OMGUbuntu or stackexchange who know of VI but will never hear of emacs.
> I'd say there is a fair few beginner Linux users who have followed a tutorial on OMGUbuntu or stackexchange who know of VI but will never hear of emacs.
Ok.
But of those people who stick with vi for more than 6 months, how many of them have yet to hear of emacs at that point? Maybe 5%?
The software developers I asspciate with today in the enterprise world fall in one of two camps:
1) Emacs? What is that? Looks like it came out before I was born. No thank you, I need something modern.
2) Emacs? That's still around?! I remember that from my Vax days...
Either way, few of them would countenance the idea of using Emacs to do professional software development in 2020. The vast, vast majority of developers out there use either a large feature-rich IDE like Visual Studio, IntelliJ, or Eclipse... or they use Visual Studio Code.
my entire MAAS development team at Canonical are emacs users. we also have those who use vi or even visual studio. it's all about what works for you, i guess.
My teachers in highschool knew what Office was and how to use it. I doubt most teachers now have heard the name VS code and don't know why they'd want it.
You are asking others to make something that you want that they don't want and not giving them anything in exchange (money, time, code). Then saying "ALAS" I wont make these changes myself only complain on the internet about them. These vague wondrous changes will make Emacs a "household name".
1) Who cares about being a household name. Vain goals serve no one
2) You didn't specify one actionable change.
You are right if you are comfortable with your editor you're not missing a lot. I tried Emacs for a while it's nice and comfortable the moment your brain get used to the keyboard shortkeys though since it's a different word you start running everything in Emacs and it becomes your OS. Why it can be a problem is another story. Anyway I switched back to use different tools for different jobs. For taking notes and managing them I use Joplin it supports markdown, todo lists, etc. and you can even copy paste images into the editor. Lots of other features as well as sync with different backends.
I have been using zim wiki. Its essentially just a basic text editor but it has a tree view for your files and supports basic syntax including check lists. I have found this suits basically all of my needs.
I have used many popular and some esoteric editors and IDEs (some of them today would be considered forgotten). The last one was IntelliJ that I used very extensively. To the point of finding some undocumented features. I have participated in many conversations regarding plugins. I have almost started building my own. I was pleased with it. JetBrains does make an incredibly powerful IDEs.
After almost seven years of using IntelliJ, I switched to Emacs.
Emacs taught me something about myself that no other editor/IDE done before. It helped me to discover my hidden predilection. I realized that I am a tinkerer. You may say: "Aren't we all? We make software because we are tinkerers..." But there are two kinds of developers: non-conformist tinkerers and consumer-tinkerers.
People who end up using Emacs are those who would choose Gentoo or Arch, first of all, because "fuck Windows" and "Ubuntu is lame", and then because they can do some crazy stuff like hijacking display brightness beyond default limits (because one time they had to stare at it, sitting on a beach). Sometimes they hook up their garage doors to a DB, so they can collect data and analyze it later. Or they build their own mechanical keyboards. Etc.
Emacs taught me to abhor repetition and mundane tasks. It taught me that anything can be automated. Even Hell and Chaos can be automated. In that case, you simply end up having an automated hell and chaos. There are so many tiny examples, like whenever I'm writing something let's say in Python, and I would like to search for a code snippet on GitHub, I would simply select a piece of code in my editor and search for it - Emacs would navigate to GitHub, pass the string and even set the language to Python. Or whenever I need to create a new branch, I don't need to think about the name, I can use the ticket number and Emacs would request the issue tracker and create a branch name based on ticket's title. Or I can create a Gist (public or private) by pressing a couple of keys. And many, many more.
I can watch anyone using their favorite IDE and whenever they do something so trivial, something they've been doing for a long time, and very often I'd think - "Oh, I know, more efficient way of doing the same thing" or "Ah, I've been doing it the same way for years, maybe it's time to improve it. I just realized that this is not efficient enough." But it's not just about efficiency - when you add a tiny bit of automation to your task, it becomes so much less frustrating.
Of course, it is possible to have the same mindset and never get into Emacs. However, Emacs offers hundreds of tiny pieces to satisfy your needs. People say: "Emacs takes a long time to learn", but in reality - it would take you longer to become a true power-tinkerer using any other ecosystem of tools.
But it is also totally okay not to be a power-tinkerer. I know many developers who don't use any fancy ways of doing things, but they are still quite impressively, very productive.
I use text files to organise myself but I use notepad++ to edit them.
I have tried to learn emacs a couple of times but I am really unmotivated - don't see any case where it would help me. I am afraid I'm missing something.