Hacker News new | ask | show | jobs
by Dansvidania 516 days ago
Lots of people work with Vim and Emacs day to day, what makes them "long gone" in your opinion?
2 comments

I haven't used emacs so I won't speak to that. But a GUI editor (be it Sublime, Notepad++, VSCode, JetBrains, whatever) does everything vim does and is far easier and more pleasant to use. I think that using vim instead of a GUI editor is kind of like using a hand saw instead of power tools - you can do it, but you're willingly giving up a better option for a worse one. Vim made sense in a day when computers were based around text terminals, but we don't live in that day any more and it doesn't make sense to use tools that are limited by that paradigm any more.

For serious work, a GUI editor (Sublime is my choice) beats the pants off vim. The only situation I use a terminal editor is when I'm editing config files on servers, and vim sucks at that too - nano is far superior for quick and dirty edits to files. I simply do not think there's a use case where vim makes sense any more.

Both Vim and Emacs have GUIs. Emacs can even render your PDFs and webpages, you can have svg icons displayed while browsing directories.
I'm used to vim, editing in anything else is anything but pleasant. It's subjective. It's not about speed or anything. I think slower than I type, so the bottleneck is not my editing speed. But ergonomically it's more pleasant for me to use. Because I barely have to move my hands, and it has very powerful movements.
Neovim beats the pants off Sublime any day. Vim modal editing is the definition of power tools - you have it exactly backward. But like any powerful tool, it needs training.
That's not true. Anything modal editing can do, I can do with Sublime Text, and some things I can do, for example having thousands of cursors simultaneously adding code, can't be done in Vim. If you know how to use your tools, they are power tools.

You will say... oh but my fingers are in the home row! It doesn't matter. I can use the cursor keys just as fast and without having to look at the keyboard, their spatial positions are burned into my brain. And I don't need to change modes to use them! Your way is not superior to my way.

However, the point of all this discussion is that Lisp doesn't provide good enough language servers for modern editors, so Vim and Emacs integration is much better. And that's an orthogonal issue to the fact that some editors allow you to do things one way or another.

> However, the point of all this discussion is that Lisp doesn't provide good enough language servers for modern editors,

They use the "language server" model since a long time, before Microsoft's LSP existed. Thus the need isn't really there, unless one wants to develop with Microsoft products (or similar) and get the needed extensions for Lisp into those Microsoft driven standards. If there were a real need and a real benefit, there would be some better adoption on the Lisp side.

Not GP, but I've always found it weird how many people are obsessed with vi/vim and/or Emacs. I get some of the extensibility appeal of Emacs if you're a Lisp fan, but fundamentally I don't understand the appeal of "programming your brain" just to edit code. 90% of my code editing time is spent reading and thinking, not writing or modifying. Memorizing and minimizing (e.g. VimGolf) editor syntax seems like a massive waste of time and cognitive function to me. Modern IDEs have you up and running instantly, and their refactoring tools are really amazing.

I feel like there's been a boom in "editor hipsterism" in the last 10 - 15 years, while everyone has forgotten the variety of novel editors that were made in the 80s and 90s (I've forgotten them, too, I just remember seeing ads and reviews in magazines as a young programmer).

For context, I do have a basic understanding of vim because I run it on servers, but my knowledge doesn't go far beyond search and replace.

To each their own. With Vim, Unix is my IDE. I don't know about the recent interest in these editors that you mention. I've been using vi/Vim for the past 30 years. I take it to every project and job. My fingers already know what to do. I've watched colleagues who I started working with 20 years ago as they've retooled on the latest hotness every 4-5 years. Visual Studio, Netbeans, Eclipse, Jetbrains, VS Code, etc. It doesn't take long to learn to use a new IDE, but they are definitely shorter term investments.

I can do more or less the same thing most folks can with an IDE; I just use external tools. I wouldn't claim that Vim is somehow superior. It's just what I use. Every now and then, I noodle a bit on a personal editor that is to ed what Vim is to vi. At some point, I'll migrate to it.

I think there is a bit of a different philosophy that the editor folks have. I can't speak for them, but I can speak for me. I like to feel closer to the code base. I like to have more of it in my head. The best analogy I've found is that using an editor like Vim or Emacs is closer to driving with a manual transmission and with tight steering controls, compared to driving with an automatic transmission with partial self-driving features found in modern cars. There is definitely something to be said about things like adaptive cruise control, lane keeping assist, GPS navigation, etc. But, if you talk to a manual transmission enthusiast, there is a thrill of feeling closer to the road and being more engaged. Both folks arrive at the destination in the same amount of time. But, if you ask each about their experience, they will have much different views of the drive organized in their head.

> I wouldn't claim that Vim is somehow superior. It's just what I use.

Exactly, that's your editor and you are used to it. There is no reason at all for you to consider to change editors.

I use Sublime Text, it's my editor, it has been for a decade and I am used to it.

I don't have Copilot or similar, and I'm glad I don't. Not interested in such a thing.

To each their own.

And yet I get down-voted for expressing a well-reasoned opinion against vim and Emacs.

I've been using vi/Vim for the past 30 years. I take it to every project and job.

I've rarely used an IDE that didn't allow custom key bindings, often with the ability to select a set from a drop-down list to match other IDEs. I've been using mostly the same keyboard shortcuts across IDEs for over 20 years.

if you talk to a manual transmission enthusiast, there is a thrill of feeling closer to the road and being more engaged

Funny you should say that, because I regularly enrage these types by pointing out that if they can't stay engaged as a driver with an automatic transmission, then the problem is with them, not the car. This is a quasi-religious ritual with these people, and a very low-effort way to get a sense of superiority over others (i.e. every driver on the road before ~1970 had experience with a manual transmission and literally anyone can learn in a few hours. It's not a skill to be proud of).

and a very low-effort way to get a sense of superiority over others... literally anyone can learn in a few hours.

I agree that it is a skill that is easy to learn. The same is true of IDEs. This isn't about skill or superiority, but comfort. Some folks are more comfortable being closer to the machine or the road, as it were. Others are more comfortable having some automation between them and the machine. I think that the better to consider this a matter of personal preference.

The IDE adds a layer of abstraction, and abstraction can be leaky. If you are comfortable with the abstraction, and with the opinionated choices the IDE makes, that's fine. If you are not, that's also fine. All that I ask when I'm bootstrapping a project with a team is that projects be arranged such that they are IDE / editor agnostic. Use standard build configuration / build tools that have appropriate plugins for IDEs, and can also be run in the terminal / command-line. Then, the individual developer can choose to use whichever editor or IDE that developer is comfortable using.

This isn't about skill or superiority, but comfort.

The down-votes that I continue to get in this thread tell a different story.

> And yet I get down-voted for expressing a well-reasoned opinion against vim and Emacs.

Calling people whose editor preferences differ from yours "obsessed" "editor-hipsters" is not a well-reasoned opinion, nor is saying that people who drive manual are engaged in a "quasi-religious ritual" to feel a false "sense of superiority". Those are just insults. Hence the downvotes, I suspect.

No one here is forcing you to use any editor, you've only got people trying to explain to you what they find valuable in the tools you're attacking. You're coming off as someone with a major chip on his shoulder. You may use whatever editor you like, but you should consider extending the same courtesy to others.

I like vim because the keybindings are familiar everywhere. For small server stuff I use vim, for most coding I use Doom Emacs (vim keybindings), and for Java I use Intellij with vim keybindings.

I mostly use Emacs because of org mode. It's way better than anything else trying to fill this hole. Otherwise I'd probably just use VSCode. But I don't want to add yet another editor to my regular use.

Emacs provides far more than just editing. Helps a lot with reading and VC (magit). Just magit would IMHO justify Emacs.
With vim you run factoring tools as an external tools.

Massive wasting of time? with vim you can do something in seconds that with an IDE you would last minutes if not ours.

Check out:

- entr to run commands on modifying files/directories

- plain Makefiles to run your code: git://bitreich.org/english_knight

- LSP and alike tools for your language

Massive wasting of time?

I feel like you only read half of that sentence.

entr to run commands on modifying files/directories

Alt-Tab to the command console that I always have running.

plain Makefiles to run your code

I have no idea what the advantage is here. F5 to run my code, including scripted deployment.

LSP and alike tools for your language

I don't know what this means.

i prefer to use the mouse as little as possible, i feel more productive when I can stay on the home-row of the keyboard, that is primarily it for me. This is because hotkeys are more direct, exact and easier to memorize than mouse motions

it helps that vim bindings are adopted in many places so learning and using them ports well to browsing and even managing windows (vimium and aerospace respectively)

secondarily, while i don't think using the terminal is generally better than GUI I tend to work in the terminal anyway, so keeping text editing there makes sense.

> This is because hotkeys are more direct, exact and easier to memorize than mouse motions

Did you ever try Opera 5.12 mouse gestures? That was a feature that completely contradicted your statement. The gestures were direct, unambiguous, and easier to memorize than any set of Ctrl+key shortcuts.

Sadly, that feature has never been fully replicated. The closest I found is Vivaldi, which I am using now, but it is not exactly the same.

I never tried. I will take a look.
> I've always found it weird how many people are obsessed with vi/vim and/or Emacs.

Because you've never truly done it. Like someone who has seen all three sides, I can tell you this: I have never, even once, even for a second, ever regretted my time invested in learning Vim and Emacs. Vim is hands-down the best mental model for navigating through text - I use it everywhere - in my editor, in my terminal, in my browser; heck, I use it system-wide - in my window manager. It's immensely empowering - being able to control things without losing context - your fingertips are in control of everything, you don't even need to shift your hand to touch the mouse or arrow keys. It also liberates you from learning myriad key combinations for every single app, it gives you freedom from having to learn, remember and having to perform weird dactylar dance, where sometimes you can't even reach the exact keys without looking down at your keyboard, not to mention the ergonomics.

And then Emacs. OMG, Emacs is so amazing, you just have no idea. The things you can do in Emacs are hard to describe in words - you just need to see it.

> 90% of my code editing time is spent reading and thinking, not writing or modifying

I spent most of my time taking notes. Emacs is the best tool for that. Matter of fact, I find Emacs is the best tool for any kind of text manipulation. I don't even type anything longer than three words in any app anymore. I'm typing this exact comment in Emacs right now. Why wouldn't I? I have all the tools I need at my disposal - spellchecking, dictionaries, translation, etymology and definition lookup, access to various LLMs - chatgpt, claude, ollama, perplexity, and others, search engines - here's a real, practical example: I would type a search query once and it sends requests to Google, Wikipedia, GitHub, YouTube, etc. I then can pick up the YouTube url, open the video and control its playback while typing - I can pause, mute, resume, speed up the video. All that with the emphasis of the main task at hand - taking notes. Done without leaving the window where the notes are being typed, without having to switch your focus - your mind remains "in the zone". I'm telling you - that's some blackmagic fuckery for staying productive and happy. It's enormously fun when you have complete control over the things happening on your screen.

> I've always found it weird

There's nothing truly "weird" about it. If you are a computer programmer, you do want to be in control of the computing happening on your computer. It's rather weird when there's the opposite - when computer programmers become merely "users", when they are told that "you're holding it wrong" and "users don't know what they want". I for one do exactly what I want - I want the shit on my computer to work and work on my terms, not anyone else's.

I have all the tools I need at my disposal

Yes, we've all heard the saying that Emacs is an operating system with a text editor built in.

I for one do exactly what I want - I want the shit on my computer to work and work on my terms, not anyone else's.

That's exactly what I get out of the IDEs I've used for decades. This whole argument is so weird, disingenuous, and full of vague strawmen. Just because I don't see the value in investing the time that you have doesn't mean that I'm for giving up control or whatever you were trying frame me as.

Anyway, I'm done here. This site is full of toxic people who are offended that someone doesn't choose the same editor and habits that they do, and any dissent is to be punished.

I don't think I've made any arguments at all, and definitely haven't said anything disingenuous. I'm not trying to sell you dogmas, and I'm not telling you how to live your life. I have only attempted to share a glimpse of the world you clearly have little understanding of - the assumption that I (not unreasonably) made based on your own words.

Perhaps my usage of pronouns in the last paragraph was confusing; I apologize for that. Since we're talking on a public forum, the "you" wasn't aimed specifically at your persona; I meant it in a generic sense, talking about a "proverbial" programmer.

> This site is full of toxic people who are offended that someone doesn't choose the same editor

I don't know where you're getting this kind of vibe from; my comments are free of toxicity. I think this particular website and the world in general is full of all sorts of people. And if you genuinely try to find helpful and beneficial thoughts and inspiration, you may find some - even within the words of criticism and discouragement. Conversely, someone who sees toxicity whenever they don't get conformance with their views may reap only bitterness and dissatisfaction.

Perhaps you should reflect on the source of your anger; just don't waste energy searching for it in my statements - after all, I merely showed you possibilities. I never forced you toward them - the choice to step through or turn away remains entirely in your hands.

> That's exactly what I get out of the IDEs I've used for decades. This whole argument is so weird, disingenuous, and full of vague strawmen. Just because I don't see the value in investing the time that you have doesn't mean that I'm for giving up control or whatever you were trying frame me as.

I used IDEs also all the time. Makes sense to me.

> Anyway, I'm done here. This site is full of toxic people who are offended that someone doesn't choose the same editor and habits that they do, and any dissent is to be punished.

Yeah, that's weird. You can use all kinds of editors you like. In the case of Lisp, there are arguments that good support for editing Lisp and for interaction with a Lisp runtime is useful (since Lisp is often used interactively). But several IDEs and editors can do that.

Just wanted to give you the impression that are others, who like IDEs and similar tools. ;-)