1. Can you change where the command palette shows up in Sublime? In emacs (M-x is our Command Palette) I can not show it, I can show it as a full width pane that takes up 50% of the screen, or I could recreate the Sublime Text look and feel (top of the screen X width, Y height). This looks like a toy example but I'm trying to show that there is not a single part of emacs I don't have control over.
2. Okay how would you do the following in sublime;
Your company is getting into credit checking. As such you now are beholden to certain rules and regulations around the safety of your code, and now your product owners want an update every time CreditCheck.java is modified by someone. They want to be notified in a Slack channel and also by email. They don't care if the top 30 lines are changed, but anything after that is important.
In emacs, I would make a hook for CreditCheck.java that any time I saved the file, it would run through the changes, check if there is a diff from line 31 onwards, and if so send a slack notification and send-mail the diff to the product owners.
I would just open my settings.org file and add the emacs-lisp to do this and I wouldn't even need to restart to avail of it - I could just load-file and have it working. All within emacs. You could do this via a tangle of shell commands sure - but emacs lets you do it emacs-lisp with ease.
Programming in the real world is full of stupid like processes like this, and emacs makes it easy to accommodate them. (Not saying that you should accommodate them, but the real world can be messy)
As for your former point of configurability; all power to you; I think that there is a spectrum where many folks choose to be more on the end of the spectrum where there is paved roads of using an editor that looks a certain way through the consensus of its users. Instead of picking between a super-configurable editor and one that isn't, I think many users choose between two less so configurable editors (I imagine IntelliJ and VS Code are good examples) for the one that just suits them better than the other.
I'm not saying emacs shines as an audit trail - I am saying the processes by which you work can be incorporated within emacs very easily, in a way that is unmatched.
I can see why people tend to ignore questions around specificity of why they like emacs - the goalposts never stop moving.
To flip this around, I'd say you're fascinated by the forest when someone else just needs a tree.
I understand the excitement and the freedom you're describing. What I think you're missing is that if others don't see a need for what you're describing it not only doesn't sound useful but sounds like the tool is definitely not aimed at them. This is not them being deliberately obstinate.
In the classic spirit of tortuous car analogies for technology - there is a benefit in having a car you are able to maintain yourself. But when asked why this car and not another if the examples all sound like "You could add six steering wheels and put a tyre on top and have the horn play jingle bells only on christmas if you wanted!" then it immediately puts people off.
What I described is a substantial benefit of using emacs over sublime text.
If you are a programmer there are many benefits to total control over a system, and the ability to compose new functionality from a solid foundation of base functions. Now, you could happily use emacs forever without ever using that control, but the difference is with something like Sublime control you don't even have the freedom to make the choice as to whether you want to or not. It's out of your control, which is a downside when compared to emacs.
The OP wasn't asking why would anyone want control they were asking what are the benefits of emacs in comparison to sublime.
I think you're _assuming_ "more control" is a substantial benefit for them.
> The OP wasn't asking why would anyone want control they were asking what are the benefits of emacs in comparison to sublime.
Right, but if you don't see a strong use case for that control it isn't a benefit. The examples you gave were of changing the UI in a way I am not interested and a way of triggering emails and slack messages when I save a file which would be actively harmful.
Giving me the ability to do something I do not want to do is not beneficial. It's like telling me a car is better because it's so modifiable I can install a Margaritaville. That would be a bad change to me so it's not selling me on the benefit of this car.
Expecting that an example should be tailor-made is not very beneficial, either. When I go out to buy a car, and the salesman tells me the trunk is big enough to fit a grown pig, this information is of use to me. Not because I smuggle livestock, but because this gives me a good idea of what the capacity is.
Obvious things would be like vims make command - I'm not going to turn around and say a webpack example isn't relevant because I'm a python guy as I can see a direct parallel. But lots of this is standard and in major ides, or well written and tested plugins are available.
Saying I can send emails on a file save is not that useful as I can't see any reason I'd want to do that. I'd definitely not want to throw together a regulatory setup - that should not be something solved there (margharitaville comparison).
Broadly - it's not necessarily that the rest of us are missing some incredible wonderous world because we're too blind to see. It may simply be that the freedoms afforded are of little value to us.
Edit - I think I've got it sorted in my head why I don't care as much about this.
My problems are typically shared by lots of other people, and so solutions that suit me are readily available. I don't enjoy building my tools as much as I enjoy solving other problems with them.
It's the same reason I got rid of my mythtv setup and just bought something that worked to play videos. It was less flexible but did what I actually wanted better than my own setup and didn't require me to build and maintain it.
I don't need my text editor to send email, monitor file changes, be an IRC client, and make me toast. Or do I? What difference does it make what programs do those things, as long as they work well and I can extend the functionality as needed?
You don't, there's an MTA for that, but for composing mail, filtering mailbox, searching and other text-related tasks Emacs has much superior interface.
> be an IRC client
Messaging consists mostly of text editing, especially in IRC, which doesn't have fancy stuff like stickers, GIFs, videos.
> What difference does it make what programs do those things, as long as they work well and I can extend the functionality as needed?
A consistent, self-documenting, extendable interface.
Yep, exactly. The most natural solution to this problem is some kind of git hook on the git server. Nobody cares about the changes I make locally before I push them to a branch.
Then when you sync your Emacs config to your laptop, those sharp edges remain gone.
Examples like this, especially those widely meaningful to everyone, are nearly impossible to craft.
It's like seeing different paths of movement before trying parkour and after training a few weeks.
What if another program edits the file? What if you accidentally pull up notepad.exe and edit it?
That's dumb and flaky. You sound like one of those guys that spends thousands of hours customizing/tweaking things instead of just accomplishing tasks.
If you're not on desktop Linux, and you don't have years of experience using emacs, I'm not sure there's a great reason to switch to it from Sublime (or any other extensible editor) just on the merits.
I tried emacs many, many times over the years, and always ended up going back to something more modern because I liked them better -- BBEdit, TextMate, Sublime, etc.
(I'm leaving aside the FOSS arguments here, which are reasonable and fair; I just mean workflow/feature reasons.)
All that said, I did end up converting to emacs eventually, about 5 years ago. Why?
OrgMode.
I couldn't find anything else that did what I really wanted in terms of note-taking and to-do tracking, and what I wanted seemed to me to be pretty simple: I wanted to be able to write in plain text, keep notes in multiple files, use outlining, and have some kind elaborate searching tool that would filter through them and show me the lines I'd marked as to-do.
Interleaving the notes with the todos was mandatory for me -- I need context.
Obviously, I could write something simple to do this, but OrgMode is built around this idea from the getgo and works BEAUTIFULLY.
And to the best of my knowledge no such equivalent exists for Sublime, or any other extensible editor.
I don't know any other editor that can do that.