5 ms·
I see so many emacs things that look cool. I have vim mainly customised with language servers and the like, which seems counter to vim's philisophy and closer
by phonebucket 6y ago
I see so many emacs things that look cool.
I have vim mainly customised with language servers and the like, which seems counter to vim's philisophy and closer to emacs.
So I'd love to experiment with emacs properly. But it's so painful; I'm just so much faster at everything with vim. I understand there are things like evil and spacemacs to ease the transition, but every time I try them, I just come straight back to what I'm comfortable with.
Is there anyone else who jumped from vim to emacs. Do you have any tips apart from perserverance?
- brainlessdev 6y agoHere's a getting-started post I wrote when I switched from Vim to Emacs. https://fnune.com/2017/12/27/making-emacs-work-like-my-vim-setup/ https://fnune.com/2017/12/27/making-emacs-work-like-my-vim-s... Since then, I'm back to using Vim. I'm planning to write about that, too...
- OrderlyTiamat 6y agoI've always been an emacs user, so no help from me I'm afraid. But I've read from other vimmers that doom emacs is a very good transition when migrating from vim to emacs, better than spacemacs. I've tried both, and I feel like doom is easier to use overall, so take that as you will. It's not bad to stick with vim either anyway, it's a great tool itself. I use vim every now and then, and I have the exact same experience of "well, if only I could just do X like in emacs, this would go way faster". In the end they're different cultures.
- amw-zero 6y agoYou just have to recognize that Lisp is the only true path, and let that guide you to salvation. That’s not even a joke. The ability to write elisp and bind it to keys is much more useful than the “text editing as programming language” paradigm of vi. Vi is the better text editor, hands down. But enacts is the better text and software environment.
- rpod 6y agoI made the jump from vim to emacs without relying on evil or spacemacs, working my way through the built-in tutorial (C-h t) and doing my own customization from the bottom up. Surprisingly, you don't need that much customization to get productive in emacs, so it's better to find out for yourself what you need. The mnemonics of the emacs keybindings are part of what makes it so special, so it didn't make much sense to me to use evil-mode. Spacemacs is another layer of abstraction which makes it easier to get started, but ultimately hinders your customizability and understanding of the text editor you are using. I know you specifically asked for tips that apart from perseverance, but I believe this is the reason I stuck with it for the past 2 years. But beware: mastering emacs is a lifelong hobby, where you sometimes sacrifice short-term productivity for long-term happiness.
- emidln 6y ago> but ultimately hinders your customizability and understanding of the text editor you are using. [Citation Needed] Spacemacs is just elisp. It is documented and you can explore its source the same as anything else in emacs. `SPC h d` + `which-key` is a godsend for learning and understanding what emacs offers.
- rohitpaulk 6y agoI was in exactly the same situation you're in. Wrote about this a while ago: https://rohitpaulk.com/articles/vim-to-emacs https://rohitpaulk.com/articles/vim-to-emacs. Took me a couple of weeks to acclimatise, but overall the switch was worth it. If you haven't tried it yet, I'd suggest Doom over Spacemacs (details in the article).
- WesternStar 6y agoFor me the thing is that emacs can be overwhelming. So focus on doing one task at a time. I still don't know the whole spacemacs interface. I know where my major mode keybinds are. I know how to deal with my .spacemacs. I know where to find documentation. I deal with everything else on a case by case basis.
- fileeditview 6y agoI went from vim to emacs with evil mode (i used the doom distribution, which I think is great). However I went back after some months of usage. The main reason is performance. Many plugins are just not very performant with elisp but without them emacs is pointless for me. Also vim has better support for more languages in terms of LSP. In emacs I ran into a lot of outdated plugin issues. I have customized my vim now with shortcuts very similar to Doom/spacemacs and many plugins. I am very happy with my setup at the moment. I don't care if it is against the vim philosophy as long as I get stuff done with it :) My tip: if you want to try out emacs with evil, try the doom distribution. If you become a convert you still can configure your own if you want/need to later on.
- rthomas6 6y agoInteresting. I am a bit behind you and have recently transitioned to (Doom) Emacs. What plugins were slow for you? What things did you find indispensable and reimplement in vim?
- fileeditview 6y agoTo be clear, my issues were mostly not with doom but with emacs plugins themselves. Well Magit was clearly the slowest. Used in big repos with a big list of changes it grinded for minutes before showing the "status" screen e.g. Also various code completion plugins via LSPs were significantly slower than even VSCode and of course vim. While typing I often encountered lag even on fast systems. Not sure if the lag actually came from the LSP plugin or from something like Flycheck ui. TBH the one thing I "reimplemented" was the keyboard shortcut system which extensively relies on leader(s). In the beginning I just mirrored doom shortcuts but after a while I customized, more suitable to my own needs. Not really related to emacs but the vim plugins I would not like to miss are especially: coc.nvim, fzf.vim, ranger, vim-fugitive, vim-mergetool, vim-bookmarks
- phxonrails 6y agoI'm in the same situation. Started with Vim. Tried out Spacemacs and loved it. Switched to Doom for the performance gains. Finally, switched back to Vim (Neovim) with Doom-like keybinding; specifically setting leader to Space. I haven't found anything that comes close to vim's performance as a text editor. In terms of plugins, there are some great ones for Neovim like tpope's rails plugins, coc.nvim, fzf, etc.
- p4l4g4 6y agoI've used vim for about 5 years and switched directly to "vanilla" emacs (no evil or doom). My main motivator was similar to yours. Most functionality I used came from plugins, but the language used to write plugins or other modifications felt crippled. When I came across orgmode, during my years on the university, I tried it in vim, through some Plugin. I liked how the format allowed me to dump most of my brain in plain text, but it still felt unnatural to edit it with vim. During a history course on computer science, I learned more about lisp and its integration in emacs. At that point I decided to try it out. I wanted the full experience, to be able to form an honest opinion. So, I forced myself to do an entire course using emacs instead vim. No evil, just plain emacs. During this time, I fell in love and never looked back. I still like vim, I just don't find any use for it anymore, except quick editing on servers. Knowing vi key bindings is useful, as vi is almost always present. However, I think that known/understanding emacs key bindings is underrated. Understanding the logic of emacs key bindings will not only makes you more proficient at handling emacs, it also makes moving around most shells more efficient. I know you can configure shells (or more specific: readline) to use vi key bindings, but the default is emacs! My advise in learning emacs would be: dedicate some time on using it for something real. I'd say, don't get too tempted by the vimify plugins, as they will hide some of the logic of how emacs works. This might slow down or dumb down the learning process. But I'm not discouraging the use of vim plugins all together, just make sure you understand the core product, before modifying it beyond recognition.
- rthomas6 6y ago1. You have to get comfortable editing your own config, as much or even more than editing your own .vimrc. I don't think you have to become a lisp master, just understand what is going on like you probably do with vimscript. 2. Consider using Doom Emacs as a starting point. It's fast and works like you would expect out of the box. You can use it like Vim and discover aditional features as you need them. And most importantly, it's (almost) as easy to configure as vanilla.
- lallysingh 6y agoOne of the easiest ways is to start using emacs for something you didn't use vim for before, like org-mode. Or just for magit, but not text editing yet. Either way, you can stay in your fast, happy path in vim as long as you like, and trickle in small edits in emacs until it becomes more comfortable. So you can avoid the heavy slam of new-editor-awkwardness in your important work. I do recommend spacemacs, it (looks like, I'm vanilla emacs myself out of habit) has many packages and customizations atop of a vim-ish keybinding.
- selftest 6y agoI’d recommend Doom Emacs over Spacemacs for a few reasons: Spacemacs tries to be everything-for-everyone and it is far too dense for someone trying to learn Emacs. Evil-mode is its “killer feature” but that’s available without Spacemacs. Doom Emacs is more like Vanilla Emacs with an obvious lean towards evil-mode. It comes with sensible defaults and loads up so much faster than Spacemacs does.
- pmoriarty 6y agoI used vim and vi for about 25 years before switching to Emacs. I had many thousands of lines of configuration in my .vimrc that I needed to port over, because I didn't want to lose any functionality over vim. It took a really long time and a lot of effort to get Emacs to do everything that I could do with vim, but I finally did it, and now Emacs does not only pretty much everything vim ever did for me, but does a lot more. I don't regret the switch or the time and effort it took in the slightest. However, there are a couple of things I do miss about vim and occasionally even fire up vim for. One is the inferiority of Emacs' regex engine, in certain important respects, like \zs and \ze in vim, which have no Emacs regex equivalent. Those patterns let one match on the beginning or ending of a regex pattern while leaving the position of the cursor/point somewhere else and highlighting a subset of the entire match. That can be pretty useful in certain situations, but it's not enough to leave Emacs and go back to vim. Another aspect where I find vim superior is in handling large files and files with very long lines. It's just way more performant than Emacs in those situations. Emacs does have long-lines-mode, but it's a hack, and doesn't work in dynamic buffers (like shell buffers) anyway. For handling such files I sometimes temporarily switch back to vim, and back to Emacs after I'm done with that file. Other than that, there's really nothing about vim that I miss. Though, since I've left vim I have heard that neovim has achieved integration in to various IDEs and other apps that I wish Emacs had. Anyway, back to the original question about tips for someone else making the transition from vim to Emacs: Apart from perseverance and the use of evil, I'd suggest making hydras for every major mode that you use. That's made Emacs way more useful for me. Oh, and learn eLisp! If I hadn't known and loved Lisp, I would not have switched from vim to Emacs. There's just no way I could have ever configured Emacs to have all that vim-like functionality (and more besides) if I hadn't known eLisp and actually enjoyed using it. That Emacs itself and the entire Emacs ecosystem was written in a Lisp was actually a major draw for me to make the switch from vim to Emacs, and in fact it is what's made writing that mountain of configuration not only bearable but actually fun and interesting. If you hate Lisp, stay far away from Emacs. If you like Lisp, run to Emacs! :) If you don't care one way or the other, give Lisp and Emacs a try.. you might learn to love them, like I do.
- selftest 6y agoPerseverance is the name of the game, much like it is in everything else we do. I’ve been learning Vim and Emacs concurrently with Doom Emacs. I find that if I don’t use the tools for actual work, where speed/familiarity is necessary, I become acclimated to the new environment and start transitioning to its use full-time. Just editing configs is enough to get familiar and it’s low-stakes as far as fucking things up goes.
- mgalgs 6y agoAs others have mentioned, `C-h t` should be enough to get you comfortable using it as your daily driver. From there the sky is the limit!