7 ms·
I almost wish I never tried Emacs. Ignorance is bliss, and Emacs ruined all other text editors for me. There are absolutely areas that others do better, but th
by jonpalmisc 5y ago
I almost wish I never tried Emacs. Ignorance is bliss, and Emacs ruined all other text editors for me.
There are absolutely areas that others do better, but the self-documenting “living program” nature is too much to give up; everything you ever need to know or do is a few keystrokes away.
- FR10 5y agoIndeed, I started with VIM when I was in uni and things were kinda slow. After a few weeks/months I was very happy with it and it truly felt as a productivty booster. (I switched between VSCode with vim keybindings and Neovim). Then, for last year's AoC I wanted to explore Lisp, so after weeks of trying out sbcl and running it thru the terminal I finally tried Doom Emacs. And for me too, its been a journey, its a "text editor" that truly exemplifies what a good 40yo+ piece of software should be.
- karencarits 5y agoHow did you approach Emacs to make it such a valuable tool? I have tried to get started with Emacs a few times but the initial resistance has been too large
- jonpalmisc 5y agoWhat parts did you find difficult? When I first started, I found the keybindings odd, but now I love them since the core set of shortcuts—C-a, C-e, C-f, etc.—work "everywhere" from the terminal, to GNU readline-based programs, to even native macOS text boxes. If you don't like the default keybindings, you can change them or use the Evil package [0] for Vim bindings. If you want to get up and running quickly, I'd check out Doom Emacs [1] which is easier to configure and takes care of a lot of configuration for you. I personally use a reasonably-minimal config I wrote myself [2]. If you like to tinker, I'd recommend writing your own config, as it will also teach you a lot about Emacs. If you have any questions feel free to reach out—contact info in my profile. [0] https://github.com/emacs-evil/evil https://github.com/emacs-evil/evil [1] https://github.com/hlissner/doom-emacs https://github.com/hlissner/doom-emacs [2] https://github.com/jonpalmisc/.emacs.d/blob/master/init.el https://github.com/jonpalmisc/.emacs.d/blob/master/init.el
- bko 5y agoDo you use it as an IDE? That's the part I had trouble with (react/typescript and python). I could get it almost there, but essentially what I would need is a VS Code mode. A side panel with the collapsible directories, double click into them, global search, linting, syntax, etc.
- patrick451 5y agoThis interesting to me. The sidebar in IDEs is one of the features I dislike most about them. I vastly prefer the C-x C-f helm menu with it's fuzzy search to IDE approach of aimlessly clicking around a directory tree like a philistine. For the rest (linting, syntax, autocomplete), lsp and a language mode make me pretty happy.
- gpderetta 5y agoI use emacs as an IDE with a large C++ (and python) codebase. I use emacs-lsp + clangd for completion/jump to definition/syntax error highlighting etc, but for whole tree searches, I find clangd unreliable, so sometimes I fall back to emacs-ag (I assume that emacs-ripgrep would be even better) for brute force searches. I never found a side panel of any use (many are available), but I use projectile for quick jump to file all the time. My python setup is less refined than C++ (I haven't bothered yet to enable LSP), but I use elpy which is works fine for lisp-style programming with a persistent REPL.
- BeetleB 5y agoAs a heavy Emacs user for over a decade: I still use IDEs instead of Emacs for programming. Emacs has plenty of uses outside of SW development. Only recently did I manage to set up my Emacs to have IDE-like capabilities for my Python work. But if I switched to a C++ job, I'll use an IDE. And maybe, over the course of a year or two, I'll bother setting up LSP for Emacs. It's totally fine to use IDEs if they make your life easier. In my last C++ job, I would edit code with Emacs, but keep Visual Studio open for the IDE conveniences.
- trey-jones 5y ago
- dotancohen 5y agoI speak with a heavy VIM accent, so Emacs never clicked for me until I tried SpaceMacs. I mostly use Emacs only for org-mode, though. The truth is, I think that I've outgrown SpaceMacs and ready to try vanilla Emacs with Evil sometime. But SpaceMacs was definitely the gateway to getting me into org-mode, and that really is revolution in being able to organize my life.
- gumby 5y agoIronically, part of the problem for the newbie is the enthusiasm of the heavy users, which can make getting started feel overwhelming. Just bare emacs is a great editor. You only need a few commands, and then can incrementally learn more as you go. Often, when you learn some new command or new package you'll wonder "how did I manage to use emacs for all this time without knowing this?" But the answer is: you were able to get a lot done with what you already knew. I've been using Emacs for over 40 years and have a very short init file with only a small amount of customization. And I still learn a new command or package every couple of weeks.
- slk500 5y agoYou have to find specific need that emacs will fulfil. Org-mode is the key. Don't try to use it like IDE for coding for a start. I recommend start with video tutorials: 1. Mike Zamansky https://www.youtube.com/watch?v=49kBWM3RQQ8&list=PL9KxKa8NpFxIcNQa9js7dQQIHc81b0-Xg https://www.youtube.com/watch?v=49kBWM3RQQ8&list=PL9KxKa8NpF... 2. Rainer König org-mode https://www.youtube.com/watch?v=sQS06Qjnkcc&list=PLVtKhBrRV_ZkPnBtt_TD1Cs9PJlU0IIdE https://www.youtube.com/watch?v=sQS06Qjnkcc&list=PLVtKhBrRV_...
- ghosty141 5y agoAt my new job a colleague mentioned he used emacs and I basically took it as inspiration and started trying emacs myself, I'm very accustomed to vim after 4-5 years of heavy usage so I started with the evil package (evil-mode) and went from there. It boils down to using the already known vim keys for basic actions like splitting the window, save a file etc. and creating keybinds for anything else I needed. So I customized any keybind to my liking, I didn't really adopt the emacs binds since I find many of them to be quite unintuitive. It took me like 2-3 weeks of constant configuration to get to a productive config that covers all my needs (from autocompletion, to colorscheme) and I still edit my config every 1-2 days since I discover new small "itches" and then fix those. For example: I always want my compilation output to be on one monitor -> always open the compilation buffer ("output") in its own window. Perfect! To me emacs is like a platform that I can use to build my "own" perfect text editor that does exactly what I want it to do without really any compromises. This is where emacs shines, the endless possibilities and nothing that holds you back and says "no the editor is not meant to do X".
- agumonkey 5y agoIt's a bit of an extreme instance but when I toyed with good old turbo pascal 7.0 ide (dos era) I was shocked by the quality of it (turbo pascal), brilliant on every aspect, mind blowing for the size and era. Yet the minute I tried to edit code I felt straightjacketed by the editor, you can only do what's built in. It was a stupid need for region aware edition.. nothing fancy but I was still stuck. Ability to extend your system with a quick `eval` and adjust keybindings when needed is a very hard drug to me. And I'm not in the fanatic period anymore but still.
- chimprich 5y agoI think the only way is to bite the bullet and accept the somewhat steep learning curve. Unlike the other suggestions I think it's best to start off with a vanilla Emacs setup (rather than one of the fancy distributions), because it's better to start with a very simple setup and then build on that. The initial Emacs setup is very basic and quite ugly, but good for learning. Follow the built-in tutorial. After learning the basics, create an init.el file, learn to use the use-package package, and start off trying out interesting packages to make your life better. I would suggest finding a good theme and giving helm a go to begin with.
- wiz21c 5y agoFor me things started to get interesting once I set up CUA mode to have the same key shortcuts as in the usual Windows world (ctrl-C for copy, ctrl-V for paste and so on). Once I got that I was able to work on text file, programs etc. Then I slowly added packages (took months) as I was needing/discovering them. And now, what I like is that I can use the same configuration on Linxu and windows (I switch often between my work PC in my home PC). Org mode is really usefull although I just get the bare minimum. LSP makes a difference too. And the community is great: so much things happen all the time. The openness really makes a big difference. So in the end, I love it :-) (and I don't like modal editors :-) )
- pzone 5y agoSpacemacs
- gaze 5y agoI’ve been using emacs on and off for about 20 years and I don’t really get the fanaticism. Org mode and magit and all these things are cool. I like that you can hack it. But — to me it never stops feeling like an ongoing project when you try to live your entire life in it. I like it obviously otherwise I wouldn’t still be using it, but it will never exactly feel elegant to me. More like a good text editor and a hundred other tools all duct taped together.
- novocantico 5y agoI used Emacs almost exclusively for half a decade and got pretty good at it. But I feel like VS Code is the natural evolution of all the great ideas of Emacs. So I use VS Code almost exclusively now.
- qbasic_forever 5y agoYeah the LSP ecosystem is so much nicer than the machinations hacked into text editors over the last 20 years. When you get down to it a modern editor is just a process manager for language servers, a global event bus/RPC layer across them all, and a UI layer. Instead of reinventing bespoke versions of those things, just solidify it using standard protocols like JSON RPC, HTML for UI, etc.
- Hedepig 5y agoI thought LSP was available for emacs?
- bananamerica 5y agoIt is.
- _hl_ 5y agoAbsolutely. Emacs is a great UX layer, only lacking a modern UI rendering layer. Would be nice to have emacs with a DOM-based rendering engine.
- nonrandomstring 5y ago> ruined all other text editors for me Emacs has a text editor too ?!!?
- didibus 5y agoAgree, but for me, there also are simply some features no other editors have, especially when it comes to navigation. Some examples are all the ivy autocompletion, command autocompletion, dired, adjust-parens, windmove, smart parents, expand and contract region, agressive-indent, avy, swiper, hydra, and so on. And it seems whatever I think about exists. Every time I go: How do I? There's a solution, and if not, I can just quickly add a function for it myself. That's what keeps me in Emacs. Some other editors are more polished, and have better UX, might be more responsive, but there's always something they don't have and I miss from Emacs, or something that I don't like how they do it and I can't customize to my liking.
- gpderetta 5y agoI've discovered aggressive-indent recently and I got immediately addicted. Now I wish it worked reliably with lsp-format-region and clangd (lack of reliability doesn't stop me from using it, even if explicitly unsupported).