12 ms·
For me it's not the "unusual synergy" between its applications that's handy. I rarely have a situation that is significantly faster than it would be in any othe
by seanw444 4y ago
For me it's not the "unusual synergy" between its applications that's handy. I rarely have a situation that is significantly faster than it would be in any other editing environment. What makes it amazing to me is the uniformity of it. Everything operates the same, and the keybinds apply everywhere that they're supposed to. There are many programs that are not that way, and it's kind of jarring.
Also, every buffer is a blender of modes. Want a new feature or some handy functionality? Activate a mode.
My only argument against Emacs used to be its sluggishness, but that's no longer a thing with native compilation. So now I'm pretty sure Emacs has spoiled me, and I'll never be able to enjoy another text editor again.
- agumonkey 4y agoThere's probably some room for improvements. People say lispmachines were still more interesting down and up compared to emacs. A few things I'd like to have is keymap collisions handling, but as anything in emacs, i can always code it with enough time :)
- theonething 4y ago> I'm pretty sure Emacs has spoiled me Comments like this make a long time Vim lover like me very curious, but I guess not curious enough to try it. Maybe one day. What both Emacs and Vim have in common is an intimidating learning curve. You can't just dip your toe in. You gotta jump in head first, sink for awhile and then hopefully learn to swim. Only then will you know if you like it.
- shadowofneptune 4y agoThis was not my experience with Emacs, oddly enough. I started using it because it was the only editor that both supported a terminal and had a top bar. Like a windows program, pressing F10 gets you a File, Options, etc. menu that helped me get through that first session. Emacs (and other Vi's, I should note) has made a nod towards accessibility that Vim has not.
- w0m 4y agoAs a long-time Vim'er who has had a dalliance with emacs a few times before fleeing - I always saw the bar and had no idea how to use it. f10. Nice. What always got me was how it still* felt sluggish on my intel 32gb rMBP.
- jacobsenscott 4y agoPerformance has improved a lot. I'm on version 28 with native compilation enabled and I just opened a 12599 line yaml file and there is no lag. In the prior version the file was pretty much uneditable in emacs. There are probably still cases where vim outperforms emacs, but for any reasonably sized file it should be good.
- pdimitar 4y agoEvery single time I press M-x my Emacs lags. I use Emacs 29 RC with JIT compilation. Seldom any difference at all. Granted I use a Doom derivative that shows a popup where you see command auto-completion but in 2023 this is absolutely inexcusable, if not laughable.
- jacobsenscott 4y agoIt is likely the fault of an extension or misconfiguration. It is instant for me, with ivy typeahead/fuzzy match magic. You would need to start uninstalling packages until you find the offender. I don't know if that is easy with something like doom since a ton is stuff is pre-installed.
- pdimitar 4y agoExactly the problem. I lost all will to tinker with it (and I've done that a lot in the past). If it can't work reasonably well out of the box then it is a failure. I'm already eating down votes in another comment which ironically only cements my decision to move away from Emacs.
- nequo 4y ago> What both Emacs and Vim have in common is an intimidating learning curve. You can't just dip your toe in. Another thing that Emacs and Vim have in common is Vim keybindings.[1] You can pick Emacs keybindings up at your own pace. From one vimmer to another, if you want to try out Emacs, I highly recommend doing it with Evil. [1] https://github.com/emacs-evil/evil https://github.com/emacs-evil/evil
- nocman 4y agoI second that recommendation. If you have many years of experience with vim, evil-mode allows you to keep a lot of that and add good stuff from emacs.
- spamizbad 4y agoFWIW vim was my first "serious" editor and I switched to Doom Emacs (which defaults vi keybindings) and couldn't be happier. Although tbh if I didn't have vim muscle memory I probably would've landed on VSCode.
- bo-tato 4y agosame, and I surprisingly found it quicker to get used to doom emacs coming from vim, than it took me to get used to a modern neovim setup which I also tried briefly
- _0w8t 4y agoVSCode has vim extensions emulating keybindings similarly to Emacs Evil mode. Although I am not a fun of vim I ended up using one of those when I needed to switch between VScode on Mac and Windows on a daily basis due to uniformity of keybindings. My only wish is for Vim not to use Ctrl key at all. Then difference between Mac and PC keyboards will not affect muscle memory at all.
- weaksauce 4y agovscode has a neovim extension you can use that shells out to an actual vim for normal mode. it's better than the emulation one and it's quite fast.
- kneebonian 4y agoI was a long time vim only user, that lived and breathed in the terminal. Then I found Doom Emacs, and it gave me everything I never knew I wanted or needed. I'd highly recommend giving doom emacs a try. There is also a great series of videos on how to use Doom Emacs on youtube.
- theonething 4y agoThanks! Do you or any other emacs users contend with "emacs pinky"? I'm prone to typing related wrist pain and have to be proactive about avoiding it.
- kneebonian 4y agoI don't know for sure what the emacs pinky is but one of the things doom does is maps the ctrl key to space bar, I find myself rarely having to leave home row now.
- tmtvl 4y agoI have used Emacs for around 5 years now (about as long as I used Vim) and I find the Emacs keybindings more ergonomical. Though that might just be because I have long and agile fingers.
- michaelhoffman 4y agoI use a Kinesis Advantage2 keyboard that has Ctrl, Alt (Meta for Emacs), and Win at the space bar. Some ergonomic setup like this is going to work much better than the usual suggestion of remapping CapsLock to Ctrl.
- celrod 4y agoI second the suggestion of getting ergonomic keyboards with thumb clusters. I also have the Kinesis advantage 2, and am also a fan of the convex keys. I also ordered a Kinesis 360 several months ago, but have not received it yet.
- ntonauta 4y ago
- outworlder 4y ago> What both Emacs and Vim have in common is an intimidating learning curve. You can't just dip your toe in. You kinda can, these days. One of the main issues is that Emacs is, out of the box, the most complete toolbox you'll ever see, while at the same time being very incomplete. You have an email client, spreadsheet, unit converter, ASCII drawing, debugger, file explorer and so on and so forth. Meanwhile, you open a Python file and you are lacking a bunch of stuff that the likes of VSCode have out of the box. So the solution is to customize, and that takes an inordinate amount of time. Thankfully, some other people have solved this for us: https://www.spacemacs.org/ https://www.spacemacs.org/ Spacemacs has VI commands by default - and I don't mean just the simplest keybindings like some VI emulators do, it's using evil-mode and it's pretty good. It can also be used in 'holy' mode (Emacs keybindings). There's also(the one I use): https://github.com/doomemacs/doomemacs https://github.com/doomemacs/doomemacs Either of these will get you a much more modern Emacs experience out of the box. You may need to add packages (it wouldn't be feasible to add all packages that everyone could possibly want), but they make it easy. Even though Emacs now comes with a package manager, it doesn't have any opinion on how you configure things. Both Spacemacs and Doom Emacs are opinionated, and that's a good thing. Sure, you still need to learn concepts and keybindings. Thankfully, there's no shortage of tutorials, and Emacs own built-in documentation is very good. It also has a built-in tutorial, which is how I learned.
- pdimitar 4y agoSpacemacs is slow as molasses on macOS and yes I have the latest Emacs. It became so bad I switched to a Doom derivative (CentaurEmacs) and while it did improve the speed, it merely reduced it from "almost impossible to work with" to "noticeably and annoyingly laggy fairly often". I gave up on Emacs after trying to make it work for a loooong time. Carefully and slowly making my way through NeoVim in the last 6 or so months now, and it's much easier to work with and configure, not to mention 99.9% of everything is instant (the only time it lagged was opening a source file of 1.7M size and I suspect the slowness came from the LSP server and not NeoVim itself). Emacs seems to be carried by nostalgia from folks that love to tinker with their tools more than they like to actually get any job done. A bit of a toxic statement, surely, but I'm pretty salty still and I haven't seen any objective evidence to make me look at Emacs and its fans more charitably. For anything and everything the answer always is "hack it for the 6328th time to make it even more your own!" No thanks. I actually have a job to do.
- weaksauce 4y agoyou should install doom emacs. it has some vim stuff baked into it and you also get the absolutely awesome git ui that I can't stress enough is the best piece of software written in a long time. sounds like hyperbole but it's seriously so well made. doom emacs. press spacebar to get a menu of things you can do and you also get a bunch of vim stuff for free. I don't use emacs as a daily driver but I still use it exclusively for the magit mode for git. a caveat that you should be aware of is that you do need to learn a bit about emacs. what's a frame/buffer and how to kill them but that's not too bad.
- Torwald 4y ago> What makes it amazing to me is the uniformity of it. Everything operates the same, and the keybinds apply everywhere that they're supposed to. This is the best summary of what the original Macintosh was all about and why Macintsoh enthusiasts back then loved System 6 and upwards. (They didn't call them keybindings though. Keyboard shortcuts. (Ironicly a longer word. (yes)))
- ramin_hal9001 4y agoYes, and this really showed with applications like Hypercard where you could build apps making use of the operating system's widget toolkit. The old Mac OS was based on the Xerox Star, which was in turn a commercial implementation of Douglas Engelbart's original GUI computer NLS. The Xerox Star supported both Lisp and Smalltalk development environments. Unfortunately, Steve Jobs didn't care about Lisp or Smalltalk, and he hated Hypercard, and he took the company's product lines in a consumerist direction, which is why Apple has "app stores" nowadays instead of a thriving ecosystem of tiny Lisp programs that compose well with each other.
- pasc1878 4y agoIf Jobs did not care a ot Smalltalk the why was Next based on Objective C which is basically Smalltalk grafted onto C. I suspect the reason that the Lisa was not Lisp or Smalltalk based is due to speed and cost of memory.
- ramin_hal9001 4y ago> If Jobs did not care a ot Smalltalk the why was Next based on Objective C which is basically Smalltalk grafted onto C. That is a good question, I don't really know (or maybe I am misinformed). Somewhere along the way, Richard Stallman started GNUstep, and Sun Microsystems and NeXTstep founded the OpenStep standard. But it is strange to me that when Jobs started NeXTstep his engineers choose Objective-C instead of trying to license or port Smalltalk, I was under the impression that Jobs didn't care for it for some inscrutable reason. I do know after Jobs left, Macintosh Common Lisp (MCL) continued to see some development, and there was even a version of the Hypercard product that could be programmed in Lisp (I can't remember what it was called). But when Jobs came back he obliterated all of that in favor of all the stuff they acquired from NeXTstep. MCL eventually became Clozure Common Lisp which is still in development. I think BeOS (now Haiku) does a better job making everything object oriented in the way that Smalltalk does. I have also heard (though I've never tried it myself) that OS/2 also does a much better job making a fully object oriented system.
- celrod 4y agoRegarding the uniformity... I started using tiling window managers a few years ago. These took a little configuring. I always had one monitor with an emacs session, and then another with an internet browser, and a terminal running tmux, which again needed a bit of configuring. It took me wayyy too long to finally try EXWM[0]. Suddenly, I have that uniformity and consistent experience everywhere, and only a single configuration language to learn and use to get things how I like them. If you like both emacs and tiling window managers, I strongly recommend it. My only major gripe is that the single threadedness can be bothersome on occasion, when certain commands can render it unresponsive. But it is still well worth it for me. [0] https://github.com/ch11ng/exwm https://github.com/ch11ng/exwm
- barbariangrunge 4y agoWhat does eMacs have to offer a rider or other jetbrains ide coder? Somebody who is used to some really handy refactoring, autocomplete, and auto formatting tools for very large code bases, Eg, like an unreal engine game project (which even visual studio can’t really keep up with)
- Kamq 4y agoI'm more of a vim user that occasionally dabbles in emacs (mostly for lisp). But... everything. > Somebody who is used to some really handy refactoring, autocomplete, and auto formatting tools Those aren't really differentiators anymore. They're available everywhere (even vim/emacs). LSPs have made the choice of thing for editing pretty irrelevant. There's also the debugger adapter protocol, which has worked surprisingly well. Though I do still miss intellij's conditional breakpoints occasionally, it's rare that that's necessary, but they're surprisingly useful when you need them. So, with emacs, you'd have everything you listed, and everything else you hear people talk about with emacs. Emacs will pretty much do anything. At the cost of higher initial set up effort, and config maintenance.
- Groxx 4y agoFor languages and environments where there is a competitive language service, yes. So far I've only seen rust-analyzer get even close to intellij (for directly supported languages). Every other one has been mediocre at best or downright awful. Even the worst is generally better than no support and flaky or non-existent syntax highlighting though - language services have massively improved the breadth of language support in [random editor X] and I'm totally sold on them as a concept.