6 ms·
He cannot use Emacs and then goes to ... Vim ?!?! Nothing against Vim or Emacs, I love both but they had their time which is long gone. I am using Linux ans OSS
by paines 2y ago
He cannot use Emacs and then goes to ... Vim ?!?! Nothing against Vim or Emacs, I love both but they had their time which is long gone. I am using Linux ans OSS technolgies since 95 and would have never imagined to advocate a MS product, but just use VS Code. It's awesome. VS Code managed to by-pass the qualitiy and amount of extensions/plugins in a fraction of time Emacs took decades.
- Dansvidania 2y agoLots of people work with Vim and Emacs day to day, what makes them "long gone" in your opinion?
- snozolli 2y agoNot 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.
- bcrosby95 2y agoI 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.
- f1shy 2y agoEmacs provides far more than just editing. Helps a lot with reading and VC (magit). Just magit would IMHO justify Emacs.
- Dansvidania 2y agoi 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.
- Shorel 2y ago> 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.
- Dansvidania 2y agoI never tried. I will take a look.
- anthk 2y agoWith 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
- snozolli 2y agoMassive 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.
- nanolith 2y agoTo 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.
- snozolli 2y agoTo 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).
- iLemming 2y ago> 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.
- bigstrat2003 2y agoI 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.
- iLemming 2y agoBoth Vim and Emacs have GUIs. Emacs can even render your PDFs and webpages, you can have svg icons displayed while browsing directories.
- lenkite 2y agoNeovim 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.
- Shorel 2y agoThat'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.
- siknad 2y agoVS Code support for Common Lisp is lacking. Alive extension is relatively recent and is a solo effort and thus has significant bugs and is not as feature packed as Vim/Emacs alternatives. For example, it doesn't provide structural editing. It's interaction with sbcl cache seemingly broke my project a few times.
- deleted 2y ago[deleted]
- dannymi 2y agoThanks, but no thanks. I don't like vscode extensions advertising to me every 5 seconds, auto-downgrading the free versions of extensions, auto-installing aux tools every 5 seconds, having a 400 MB RSS chromium runtime (remember Eight Megabytes And Constantly Swapping? VS code is much worse; and it's also just a plain text editor); nerfing the .net debugger and breaking hot reload on purpose in VSCodium; telemetry, .... it's so noisy all the time. You are using this? On purpose?! VS code is basically the same idea as emacs, just the MVP variant and with a lot of questionable technology choices (Javascript? Electron? Then emulate terminal cells anyway and manually copy cell contents? uhhh. What is this? Retrofuturism?) and done with the usual Microsoft Embrace-Extend-Extinguish tactics (nerfing pylance, funny license terms on some extensions that the extensions are only allowed to be used in their vscode etc). So if you didn't like emacs you probably wouldn't like vscode either. Also, if you use anything BUT emacs for Lisp development, what do you use that doesn't have a jarring break between the Lisp image and you? vim seems weird for that use case :) emacs is very very good for Lisp development. On the other hand, VSCode for Lisp is very flaky and VSCode regularily breaks your Lisp projects. Did you try it? Because of your comment I tried VSCode again and now about 20 extensions (one of them "Alive", a Lisp extension for vscode) complain about now missing "Dev container: Docker from Docker Compose" (keep in mind they worked before and I didn't change anything in vscode--I hadn't even run VSCode for 8 months or so) and when I try to fix that by clicking on the message in the extension manager the message immediately disappears from all 20 extensions in the manager (WTF?) and I get: >>./logs/20250112T181356/window1/exthost/ms-vscode-remote.remote-containers/remoteContainers-2025-01-12T17-13-58.234Z.log: >>>> Executing external compose provider "/home/dannym/.guix-home/profile/bin/podman-compose". Please see podman-compose(1) for how to disable this message. <<<< >a239310d8b933dc85cc7671d2c90a75580fc57a309905298170eac4e7618d0c1 >Error: statfs /var/run/docker.sock: no such file or directory >Error: no container with name or ID "serverdevcontainer_app_1" found: no such container ... because it's using podman (I didn't configure that--vscode did that on its own, incompletely. Also, it thinks that means having a docker/podman service running as root has to be a thing then (instead of rootless podman). Funny thing is I use podman extensively. I don't wanna know how bad it would be if I HADN'T set podman up already). So it didn't actually fix anything, but it removed the error message. I see. And there's no REPL for the editor--so I can't actually find out details, let alone fix anything. I had thought emacs DX was bad--but I've revised my opinion now: compared to vscode DX, emacs DX is great. You live with VSCode if you want to. And note, vscode was made after emacs was made. There's no excuse for this. I think this now was about all the time that I want to waste on this thing, again. How is this a problem in 2025? shakes head >VS Code managed to by-pass the qualitiy and amount of extensions/plugins in a fraction of time Emacs took decades. Yeah? Seems to me these vscode extensions are written in crayon. Bad quality like that would never make it into emacs mainline. And it's not even strictly about that! I wonder who would write a developer tool that the developer can't easily debug its own extensions in (yes, I know about Ctrl-Shift-P). That flies about as well as a lead balloon. For comparison, there's emacs bufferenv that does dev containerization like this and it works just fine. Configuration: 1 line--the names of the containerfiles one wants it to pick up. Also, if I wanted to debug what it did (which is rare) I could just evaluate any expression whatsoever in emacs. ("Alt-ESC : «expression»" anywhere) PS. manually running "podman-compose up" in an example project as a regular user works just fine--starts up the project and everything needed. So what are they overcomplicating here? Pipes too hard? PPS. I've read some blog article to make socket activation work for rootless podman[1] but it's not really talking about vscode. Instead, it talks how one would set up "linger" so that the container stays there when I'm logged out. So that's not for dev containers (why would I possibly want that there? I'm not ensuring Heisenbugs myself :P). [1] https://github.com/containers/podman/blob/main/docs/tutorials/socket_activation.md https://github.com/containers/podman/blob/main/docs/tutorial...
- iLemming 2y ago> they had their time which is long gone Haha, yeah, sure, but of course, no! Similar shit has been said so many times since 1990s. Yet both Vim and Emacs still have vibrant communities, have dedicated conferences, they get mentioned almost every week - here on HN, and every day on Reddit. Emacs, in experienced hands, absolutely kicks everything out of the ballpark; it's just hands-down the best tool with unmatched text manipulation capabilities. Anyone who says otherwise simply is unaware what you can do in Emacs. Can anyone in the grand community of VSCode users claim to have a workflow that involves: - Reading a pdf where the colors match the current color scheme? The scheme that automatically adjusts the colors based on time of the day (because Emacs has built-in solar and lunar calendars)? - Where they do annotate the said pdf in their notes, where you can jump to the places in pdf from the notes and vice-versa? Where you can scroll the pdf, without even having to switch windows, because you're in the middle of typing? - Where you can open a video and control its playback - pausing and resuming it in place, directly from your editor, whilst typing? - Where you also extract subtitles and copy some text chunks for your notes? Where you can run LLM to extract summary for your notes of the said transcript? - Where you can resume the video-playback at some position in the transcript? Where you can watch the video and chunks of the transcript text get automatically highlighted - the karaoke style? - Where you can simply type 'RFC-xxx' and despite that being a plain text entry, Emacs intelligently recognizes what that is and lets you browse the RFC entry, in-place, without even googling for it? Or similarly have plain-text of e.g., 'myorg/foo#34' and browse that Pull-Request and even perform the review with diffs and everything? - Speaking of googling, can you type a search query only once and let it run through different places, finding things in Google, YouTube, Wikipedia, DuckDuckGo, GitHub, your browser's history and personal emails? Or any other places, since it's highly configurable? - Do you use translation, dictionaries, thesaurus, etymology and definition lookup for any words and phrases, in the midst of typing? I have bound "auto-correct previous typo" to a double tap of the comma key - it's super convenient. Can you do something like that in VSCode easily? - Do you edit code comments and docstrings in the code, treating them as markdown - with all the syntax highlighting, preview, and other perks? - Do you have embedded LaTeX formulas directly in your notes? And that's just a tiny fraction of things I personally do in Emacs - it's just the tip of the iceberg. There are tons of other interesting and highly pragmatic Emacs packages people use for various kinds of tasks. Speaking of packages - my config contains over 300 different Emacs packages, and I still can restart and load it under a second. Can you imagine any VS Code user having installed even half of that many plugins? Would that still be a "workable" environment?
- cess11 2y agoKind of weird to compare a sluggish, bug ridden, Javascript application to vim, no? Same with emacs, now that they've spent some time on performance. VSCode sits in a weird limbo. It's not an IDE, and it's not an excellent editor. The plugins are usually rudimentary but there's a lot of them. There's no community, instead there's one of the nastiest corporations on the planet faking one.
- troad 2y agoI feel like the oldest cycle in tech is the "easy and good enough" defeating the "more elegant / powerful, but more tricky". Re VS Code, I wouldn't say it's in a weird limbo - on the contrary, I think that a "smart-ish, extensible editor" is exactly what lots of people actually want. IDEs are too heavy for many folk, vim/emacs too hard, Notepad too dumb. Things like VS Code hit a sweet spot, hence their popularity.
- cess11 2y agoEmacs is very simple. It has point-and-click menus and tries very hard to generously interpret mistakes and show helpful error messages. I wouldn't call it tricky, unlike the command language in vim. Power tools aren't as common as regular hammers and saws and so on, i.e. 'less popular', but among professionals few would prefer the unpowered ones just because the threshold to bring one out is lower.
- troad 2y agoThat's interesting; I find vim so much more intuitive than emacs. I find commands easier to reason about (and easier on the fingers) than chords. `dd` over `C-a C-k` or `C-S-Backspace`, for example. I also think the discoverability in emacs, despite the nice point-and-click interface, is always going to be hampered by the idiosyncratic vocabulary. If you don't already know emacs, `Buffers > *scratch*` isn't going to mean anything to you. And if you do know emacs, you're just going to use the chord. So who's the audience for the point-and-click? People who know what scratch buffers are, but don't know how to use emacs? I don't imagine there are many of those. > Power tools aren't as common as regular hammers and saws and so on, i.e. 'less popular', but among professionals few would prefer the unpowered ones just because the threshold to bring one out is lower. Agreed, but I suspect many more professional programmers use VS Code than vim and emacs put together. Though I suspect even more use IDEs.
- uludag 2y ago> VS Code managed to by-pass the qualitiy and amount of extensions/plugins in a fraction of time Emacs took decades. I get the impression that the VSCode has a rather fractured, limited, malware-infested[1][2], JavaScript-churn inundated plugin ecosystem. You have lots of choice, but I'm would be just as hesitant using a random extension as I would downloading some random executable and running it. On the other hand, I'm genuinely surprised (in a good way) how OCD some Emacs users are with the code I publish to MELPA. [1] https://arxiv.org/abs/2411.07479 https://arxiv.org/abs/2411.07479 [2] https://www.bankinfosecurity.com/visual-studio-code-has-malicious-extension-problem-a-25519 https://www.bankinfosecurity.com/visual-studio-code-has-mali...