6 ms·
I have been a vim user all my programming life which is not very long. Can you please provide me straight-to-the-point, opinionated, no words twisted, maybe per
by rg111 5y ago
I have been a vim user all my programming life which is not very long. Can you please provide me straight-to-the-point, opinionated, no words twisted, maybe personal reasoning why I should use Emacs over vim?
This is a very honest question.
EDIT: This question is more- what motivates you to be an Emacs-er? Why do you use it? I would love to hear your reasoning behind choosing and sticking with an editor.
Thanks to umanwizard for the answer. Someone else said that it is best to experience it yourself. But you have to understand that mastering a new editor is a non-trivial time commitment. I am willing to put the time and effort given it is worth it. That is what I am trying to find out.
Someone on HN said just some days ago- you cannot simply be a tourist in Emacs and hope to get everything that is good with it.
I guess I will learn both.
- wglb 5y ago> This question is more- what motivates you to be an Emacs-er? Why do you use it? I did a bunch of quality time with TECO on the PDP-10. I started using emacs-like editors back in 1985 under Coherent or so when DGC wrote MicroEMACS, which is now MG on most systems. EDIT: this was a replacement for good old ed. Later, under Dec Unix I used emacs . I have stuck with emacs ever since as it does what i need it to and is easy to add functionality and automation for many tasks.
- hall0ween 5y agoLike many things in life, the only way to truly know is by experience.
- CyberShadow 5y agoWhen I was choosing the next editor to settle on and invest into, what convincingly swayed me towards Emacs was the number of reports of vim users who later moved to Emacs, vs. the number of reports of users who moved in the other direction.
- johnchristopher 5y agoAnd what are the numbers ?
- hsbauauvhabzb 5y agoEmacs user here. I’ve conceded that vim is a better editor than emacs. I wish I’d learned vim, then later moved to emacs. Edit: but emacs is a better IDE than vim.
- School-Cotton 5y agoWell, the "editor wars" are silly. You should use whatever you prefer. That said, I started using Emacs a few months ago, and can explain what I like about it. Emacs is not really "an editor" in the sense that vim is; it is more like a platform for building custom IDEs. It's built from the ground up with customization and exploration in mind. Want to know how some function works? It's very easy to jump to the code where it's implemented and start reading. Have you ever thought "I wish my editor did this or that" ? In emacs you can just write the code to make it do whatever you want. Other editors support plugins, but they're not nearly as seamlessly integrated into the core editor as they are in emacs. Emacs is mostly written in elisp (which is the same language that plugins are written in) so there's basically no difference between plugin code and emacs itself, they are all just running on the same elisp vm in the same namespace.
- pksebben 5y agoso much this. as another commenter posted, you can configure emacs to just "be a vim" with evil mode anyway, so you can treat it like it's vim, and when you see a package somewhere that does something cool, add it. the thing that emacs gives you that vim doesn't is limitless extensibility. as an editor, vim probably has better bindings (it does in my opinion at least), but there's no reason you can't have all the cake.
- stirfish 5y agoThe 'should' in your question is doing a lot of work. You should do what makes you happy. Sometimes that means trying new things to see what makes you happy!
- tptacek 5y agoYou should keep using vim; there isn't a straight-to-the-point reason why you should switch from vim to Emacs, or vice/versa.
- School-Cotton 5y agoBut trying new things is fun and interesting, which is reason enough to give Emacs a spin imo.
- robocat 5y agoTrying a new editor isn't so much fun to this old dog. Also trying all the fun and interesting things in the world would take thousands of lifetimes: choose wisely how you spend your time (which is the most limiting resource many of us have in this world).
- School-Cotton 5y agoI agree with you -- if tinkering with your editor isn't appealing, then don't install emacs. Vim is probably a better choice.
- karlicoss 5y agoCheck out evil mode [0] which brings vim keybindings/modes into Emacs, so you will have easier time checking out emacs and making your own opinion. I still use both, vim for quick edits/on the systems where I don't have an emacs config. For me the reason to prefer Emacs would be its extensibility and ability to modify pretty much any behaviour. I'm no fan of elisp, but it's much more reasonable than vimscript. [0] https://github.com/emacs-evil/evil#readme https://github.com/emacs-evil/evil#readme
- rg111 5y agoThis sounds really interesting. So, even if someone chooses to migrate to Emacs, they can still be in-practice with vim. So, when they need to work on someone else's computer or SSH into a server, they will still not lose any efficiency.
- zarkov99 5y agoAnd that right there is the zen of emacs. You can vim inside emacs but you cannot emacs inside anything else...
- ABahajaj 5y agoI moved from vim to emacs using emacs doom. Which is a configuration of emacs that makes it feel a lot like vim. Its a good place for vimmers to start imo. https://github.com/hlissner/doom-emacs https://github.com/hlissner/doom-emacs However, its a good idea to stop using emacs doom at some point and get your hands dirty with configuring emacs. This just makes the transition more gradual.
- _benj 5y agoI think that we limit ourselves when the question is either/or. Personally I use JetBrains for work and for languages that I'm still learning (Ruby and RoR), vscode for almost anything web because their support for JS is unreal. I use vim for pretty much every config file and quick edits, and will find myself pulling up vim when I need to make some more complicated edits on a file since macros on vim are AWESOME. And then I use emacs (with EVIL) for beancount files and it works phenomenally for that! I have used it for some Elixir and it just works! Emacs is really less of an editor and more like a framework/platform/dare I say OS? It allows you to customize and build on top of it like no other software I've come across. So I'd say, if you are up for exploring check out emacs (I would just start by installing EVIL instead of trying to learn all the "chords" that emacs uses by default) and enjoy the journey!
- rg111 5y agoThis makes sense. When I used to write Js, I used VS Code anyway, because its support for Js is really good. I still used vim for everything else. I will keep both. Thanks.
- Grimm665 5y agoI use both. Vim is my to-go setup, with a minimal config, and an assurance that I can count on it being installed on almost every server I am working on. Emacs is my home court, where it is open all the time with about 100 various files open, and with all my organization and productivity tools available. Vim is absolutely worth learning for the workflow alone, it's just a really good editor at heart. Emacs is worth learning for the fact that it can do almost anything, and can do them well (even emulate vim :)
- stevekemp 5y agoMy routine was always to use Vim for writing emails, in mutt, and Emacs for anything else. These days I pay for gsuite, so my vim usage has declined. But I know it well enough to use whenever necessary. Emacs is just more "me".
- NeutralForest 5y agoI like using Emacs because it does everything. Sometimes not well and you have to let it go, for example I wouldn't imagine managing Java projects in Emacs. But there's a world of discoverability and learning in Emacs that's unmatched in my opinion. The writing experience is especially excellent, I write all my notes and presentations in Emacs, they can be linked together, compiled to PDF or Word, use interactive code blocks and much more, it's fascinating. It also made me interested in subjects I didn't know about like knowledge management and the history of Lisps, thanks to its community.
- ljm 5y agoI use Emacs, but not exclusively. It's my daily driver but I'll still open VS Code sometimes, and I'll still do a bunch of stuff in nano or Vim if I need to. What motivates me? The lisp-based config is a big one, I can learn how to configure Emacs and the knowledge of lisp is transferrable outside of it. I enjoy hacking on Emacs that way because I also like lisp. It's also been 10 years and I'm just used to some of the emacs conventions. I don't use vim keybindings, I have a minimal config that sets up language modes and syntax. It's comfortable for me. So the simple explanation is that I find joy in working with emacs, and as much as I find joy in working with other tools too, I still come back to the joy that emacs offers me. It's a comfortable and familiar environment for the things that I spend the most time on, and I use other tools for everything else.
- xenodium 5y agoYou may enjoy https://youtu.be/JWD1Fpdd4Pc https://youtu.be/JWD1Fpdd4Pc, presented by someone who hopped over from Vim.
- aidenn0 5y agoI've been using some vi-like since around 1990. I guess I'm still using a vi-like as I'm now using emacs with evil-mode for most things. What got me to switch was developing in common lisp. I hear things have much improved, but at the time the best setup for vim was a really hacky tmux (or maybe gnu screen?) repl that was spawned and vaguely controllable from vim. I started by just using emacs as a lisp REPL on steroids, and then started to do more with it. My fingers know more vim key combinations than my brain, and they refused to change for emacs. evil-mode didn't exist yet, so I settled on using viper (an older vi-like mode) and any time my muscle-memory did something that didn't work, I figured out how to add that particular key binding. It was super hacky, but Worked For Me to let me use emacs for lisp dev and vim for everything else. From then on it was all downhill; there were so many things that you could do in vim, but were harder and the vim packages tended to be less polished than the emacs packages. Neovim seemed to recognize some of the issues with extending vim, but (at the time) was really a terminal-first editor. Now that I could switch between the two without my fingers complaining, when something was better on emacs, I added that to my "list of things I do with emacs." Eventually most of what I do is in emacs rather than vim, and I reach for emacs first. I had to engrave some music for my son the other day; I've used lilypond (kind of LaTeX for music) in the past so I decided to try it with emacs. Turns out lilypond ships with an emacs mode that does all the basic things, plus registers a command for running lilypond on the current buffer. Tile my pdf viewer next to emacs and I can see the results with a single command. I can (and have) set up a similar thing with vim, but the community around emacs seems to really take seriously that emacs is more of a gui toolkit with really good text support, while the parts of vim community is suspicious of any significant new functionality to vim that isn't specifically about editing text.
- User23 5y agoI use Emacs because it's the superior tool for editing ~/.emacs.d/init.el[1]. For me, it's just fun. I like writing lisp. I like how Emacs by default presents you with a *scratch* buffer meant to be used for trying out customizations and extensions to the editor. I like how I can modify almost any behavior of the editor to suit my own idiosyncrasies. I like the extremely high quality of the community[2][3][4]. I like how the LSP protocol means that I can benefit from considerably more advanced IDE style functionality than I could even a few years ago. I even like the archaic Emacs style key-binds. However, I do at a bare minimum remap capslock to control and I've been exploring other options like configuring space to input space on a tap and control when held down. [1] Haha, only serious. [2] https://protesilaos.com/emacs/dotemacs#h:7b39c38c-ae23-4385-b439-afca89baca52 https://protesilaos.com/emacs/dotemacs#h:7b39c38c-ae23-4385-... has a nice list. [3] https://github.com/rougier#emacs-hacking https://github.com/rougier#emacs-hacking [4] And there are so many more. https://old.reddit.com/r/emacs/ https://old.reddit.com/r/emacs/ is a good community too, despite its parent site's reputation.
- bananamerica 5y agoThey're just incredibly different programs. I'd say use Emacs if you wanna be able to deeply customize your experience. The flexibility Emacs gives is much superior to anything you get with Vim. To maintain your sanity, I recommend Doom Emacs. My initial reason for using Emacs was Org Mode.
- tsuujin 5y agoI was a hardcore vim user for many years, and switched to Emacs a few years ago. It’s hard to give a concise, objective reason as to why. My best attempt would be something like “vim is a great editor, but emacs is a great ecosystem”. I always felt like vimscript got in my way. If I wanted to do something out-of-the-box if was overly difficult to even start. I know there are vimscript wizards out there but it never clicked with me. Emacs, by contrast, feels like it has no limits. If I can imagine it, I can get emacs to do it. I wasn’t a fan of lisp at first but honestly I have come, over the years, to actually enjoy it. The thing that really sucked me in though was org-mode. I haven’t found anything like it anywhere else. I use it to manage my team, my projects, my side-hobbies, and my extensive collection of notes. The agenda is amazing and capture templates pull it all together. In the beginning org-mode was what kept the learning curve from driving me away, and now I really can’t imagine using anything else anymore. Oh, also, tramp is killer. I used to ssh into a sever and open vim there. Every time I was annoyed that my extensive vim config didn’t exist there, but it wasn’t practical to port that sucker over everywhere. Now I just connect from my local machine over tramp. I don’t have to deal with config mismatches, editing happens locally so I don’t have to deal with input lag, and it’s so seamless that I don’t actually miss out on anything. I can edit the file system, open a terminal, run shell commands, whatever.
- creese 5y agoYes, Org Mode.
- newusertoday 5y agoi filed my taxes with emacs and org mode need i say more? :-) . I imported bunch of csv's in org mode table added formulas to it and used it as spreadsheet all the while adding my own comments that will not be visible in the final version and than merged them and exported it back in json format which is understood by the tax software. I also exported it in html format for external viewers(who don't have emacs)