| ▲ | jerf 6 hours ago |
| "Is anyone still using emacs?" Yes. I had to briefly visit the world of VSCode during a period of time when it had better AI integration than emacs did, but since I got Claude working well inside of emacs I've returned to 100% emacs. There just isn't anything like the old editors, built in the 80x24 terminal era, for getting huge swathes of code on your screen at once. I run a standard widescreen monitor with three vertical windows for emacs, each of which I often will break into two frames, so I can have up to six contexts active at once. I rarely do, but I frequently have 2 and 3. That's my entire 4K screen, full of code, usefully full of code. I'm not an IDE hater but they do put an awful lot of stuff on the screen that on a proportional basis I'm just not using as much as I use the code editor. I had been getting somewhat nervous about emacs' long term prospects about 10 years ago. I would read the release notes for major versions and generally not be particularly excited about anything. Somewhere around treesitter something seems to have revitalized the project. It may well have been treesitter that revitalized it overall. You end up with a lot more wood behind fewer arrows when the project is able to put more work into generally-useful tools rather than every single language community maintaining their own separate mode for each language. Now I am more excited about the major releases; for instance term issues are an issue for me with the aforementioned Claude integration. Not enough to stop me, but annoying. At the risk of saying something inflammatory to emacs fans, I feel like emacs is catching up to everything else better now... but it is catching up. It's getting easier to recommend it again as something you may want to seriously consider as a power-tool editor and not just something I used because I had 15 years of finger-experience with it and no significant reason to change. AI has eaten a lot of the IDE tools for me and you can type into a text box in emacs as well as you can anything else. I still occasionally bring up VSCode now to use the debugger, I still don't feel like I have as nice an experience with that as I do with emacs, but my debugging habits have always been able to deal with doing something a little extra to do a debugging session. By its very nature, you're committing some time to the process just to do the debugging itself, no matter how slick the UI for it may be, so a bit of overhead isn't so bad. |
|
| ▲ | baokaola 6 hours ago | parent | next [-] |
| > Now I am more excited about the major releases; for instance term issues are an issue for me with the aforementioned Claude integration. Not enough to stop me, but annoying. Being a co-maintainer, I'm a bit biased, but I think you should try Ghostel (https://github.com/dakra/ghostel) if you aren't already. And if you are, you should report bugs so we can fix them :) |
| |
| ▲ | kccqzy 5 hours ago | parent | next [-] | | I quickly skimmed and did not really see any compelling reason why I should switch from vterm. Then I went into the docs and found compelling performance numbers (10MB cat test: 220ms vs 550ms; throughput: 75MB/s vs 18 MB/s). You could market your project better by showing these numbers :) | | |
| ▲ | baokaola 5 hours ago | parent [-] | | Hehe, the feature that enables that (feeding reading the PTY and feeding the VT parser off the main Emacs thread) only got merged today. But the rendering even before this was a lot faster than Vterm. Otherwise, I think the main advantage over Vterm and other Emacs terminal emulators is that it handles modern fancy TUIs a lot better than Vterm. It's backed by libghostty-vt so supports all the new fangled escape codes. It has a bunch of tricks to force fallback glyphs to the terminal monospace grid to remove the flickering effect when the glyph cells change size during TUI animations, most notably in Claude Code. Btop and Yazi runs great too, if you're into that sort of thing. Plus a bunch of other things! |
| |
| ▲ | bryanlarsen 6 hours ago | parent | prev | next [-] | | And Ghostel support recently landed in claude-code-ide.el! | |
| ▲ | DonHopkins 5 hours ago | parent | prev [-] | | Is it conservative in what it sends, and liberal in what it accepts? | | |
| ▲ | baokaola 5 hours ago | parent [-] | | Can you elaborate a bit on what you are asking about? | | |
| ▲ | DonHopkins 5 hours ago | parent [-] | | The name Ghostel sounds like a tribute to the Ghost of John Postel, whose law is a good thing for a terminal emulator to respect: https://lawsofux.com/postels-law/ https://en.wikipedia.org/wiki/Robustness_principle >In computing, the robustness principle is a design guideline for software that states: "be conservative in what you do, be liberal in what you accept from others". It is often reworded as: "be conservative in what you send, be liberal in what you accept". The principle is also known as Postel's law, after Jon Postel, who used the wording in an early specification of TCP.[1] >In other words, programs that send messages to other machines (or to other programs on the same machine) should conform completely to the specifications, but programs that receive messages should accept non-conformant input as long as the meaning is clear. | | |
|
|
|
|
| ▲ | ww520 4 hours ago | parent | prev | next [-] |
| "Is anyone still using emacs?" Of course. Emacs has been my stable editor over many years, handling many languages that came along, surviving many other IDEs that came and gone (the latest being the Cursor sold out). There're always new enhancements in Emacs, from multiple-cursor editing years ago, to LSP and tree sitter in recent years. Currently I just got into the vertico/marginalia/consult/embark combo packages. Embark with its context based actions seriously is an amazing underrated package. |
|
| ▲ | musebox35 3 hours ago | parent | prev | next [-] |
| I also have been using emacs for almost anything for the past 20 years. I had to switch to VSCode for coding over a remote ssh connection to cloud VMs. The client/server split of vscode felt superior over the ssh connection and the emacs alternatives was not up to the same level of performance two years ago. Do you know any progress on that front? I would love to go back to emacs as my daily driver but I am sensitive to lags when I type / execute commands. Have you worked with ai assistants over a remote connection? |
|
| ▲ | hoppp 6 hours ago | parent | prev | next [-] |
| The two complaints I hear is: 1.Memorizing how to use it has a big learning curve. 2.Wrist pain from pressing button combinations all the time. Otherwise plenty of people still use it and it's great. Just hard to pick up for new users. |
| |
| ▲ | xedrac 6 hours ago | parent | next [-] | | I've only ever used emacs in vim mode (evil-mode). Its vim emulation is the best I've seen anywhere. | | |
| ▲ | DonHopkins 5 hours ago | parent [-] | | It's terribly inefficient for emacs vi emulation mode to actually quit emacs when you type ":q", because it takes much longer for emacs to start up than vi, and people use a long-running emacs a lot differently than they use disposable vi's. UniPress[1] Emacs's vi emulation mode would actually flip you over to an emacs shell buffer when you typed :q, and the shell would recognize when you typed "vi foo.c" and flip back over to a vi emulator buffer instead of actually running vi, but INSTANTLY, since changing buffers in a running emacs was much faster than actually starting up a new vi process. So die-hard vi users didn't have to re-learn their muscle memory, and could just stay in the same emacs all the time, while the same old emacs alternately flipped between pretending to be a shell, and pretending to be vi. [1] "Evil Software Hoarder Emacs": https://news.ycombinator.com/item?id=26113192 | | |
| ▲ | dieggsy 5 hours ago | parent [-] | | I use emacs --daemon with emacsclient for this. I always have a running emacs instance, and connect with the client. Opening and quitting a client is near instant. | | |
| ▲ | noufalibrahim 5 hours ago | parent | next [-] | | Yup. I've aliased it to e and and it works just fine. Sort of "send file into Emacs". I've also added some elisp to say things like e something.c:43 so that it opens it up at line 43. I used have a ep which I could pipe something into and it would put it in Emacs buffer but that stopped working somewhere I never got around to fixing it. | |
| ▲ | blks 5 hours ago | parent | prev [-] | | I used emacs for about 16 years, but never properly gotten into client-daemon setup. What’s your setup? Does the daemon preserve open buffers and stuff, so when you connect you have all your openned stuff? Or each emacs sessions have separate set of buffers and windows? | | |
| ▲ | bryanlarsen 5 hours ago | parent [-] | | > Does the daemon preserve open buffers and stuff, so when you connect you have all your openned stuff? Yes. I use it instead of tmux for that. |
|
|
|
| |
| ▲ | SoftTalker 4 hours ago | parent | prev | next [-] | | WRT point 2, binding the caps-lock key to ctrl helps a lot, or finding a keyboard with the ctrl key to the left of "A". | |
| ▲ | asimovDev 5 hours ago | parent | prev [-] | | being scared of emacs pinkie was a major contributor for me back as a student to learning vim. I remap ctrl to CAPS LOCK on all my computers as one of the first things but I still end up using my pinkie. I've been playing with the idea of switching ctrl to the spacebar at least in non insert mode though because I still end up using my pinkie a lot when scrolling with Ctrl+E for example | | |
| ▲ | tpmoney 5 hours ago | parent | next [-] | | On my MacBook I map the right hand command key to “ctrl” and the right hand option key to “meta”. Since the command keys are right next to the space bar that puts the ctrl key on a thumb position most of the time, and for the times when that isn’t a good key for a given combo I still have caps lock bound to “ctrl” as well. Seems to work reasonably well and lets me keep the usual command and option keys on the left side for “super” modifiers and for typing accented and other characters. For my desktops, I use an Ergodox EZ keyboard and mapped ctrl and meta into the thumb clusters there. | |
| ▲ | bryanlarsen 5 hours ago | parent | prev [-] | | Don't use your pinkie or any finger. Use the meat of your hand to hit the control key. | | |
| ▲ | jcgrillo 3 hours ago | parent [-] | | This works especially well on an IBM Model M because there's nothing in the vicinity of either the left or right ctrl, you just chop your palm down and can't go wrong. I could also pretty reliably M-x in one hit by flipping my left hand over, curling my pinkie finger, and hitting the keys with the knuckles. On more crowded keyboards I remap ctrl:nocaps and use thumb and forefinger for M-x. I actually deliberately got rid of my Model M to teach myself to do it this objectively worse way, because context switching between my docked workstation setup and laptop keyboard on the go was difficult. If only someone would make a laptop with a proper keyboard... |
|
|
|
|
| ▲ | joshuastuden 5 hours ago | parent | prev [-] |
| Why not use agent-shell? It makes the whole experience great. Also claude-code-ide.el. try these |
| |
| ▲ | jerf 3 hours ago | parent | next [-] | | I use claude-code. I've been trying to use agent-shell with OpenCode but the abstraction that agent-shell puts on top of it is too much. I can't figure out how to change the model. The command to do it doesn't do anything; I see the correct model list and seem to be able to select it, but then it doesn't change. If I just run "opencode" in the same directory it comes up configured the way I want. The Claude integration works with that workflow too. Opencode comes up with some baby CPU-only model that I've never heard of, and basically, it outputs syntactically correct English sentences but doesn't seem to do much more than that. Since I mostly use Claude I haven't fussed with agent-shell much yet. | |
| ▲ | ngai_aku 4 hours ago | parent | prev [-] | | agent-shell is awesome, but Anthropic banning subscription usage via ACP is a killer. I've liked claude-code-ide.el when I've used it, but its lack of concurrent sessions per project has prevented me from fully adopting it. I know, I should be using worktrees, but I still haven't figured out a nice way to get that to work with my docker-compose-based project (though I'm open to suggestions!) |
|