-
Oh yeah, it gets even more interesting in large refactors, say an involved rename that requires you check the context before you do so (like not just global search and replace). I do a search, this opens a buffer with all results, with file name, position, all that, and Emacs can allow you to "peek" into the file without even leaving the search buffer focus (i.e use a split screen). Then, use https://github.com/mhayashi1120/Emacs-wgrep to do the magic of in-place editing.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
> 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
-
-
> 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/
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
Either of these will get you a much more modern Emacs experience out of the box. Sure, you 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.
-
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.
[0] https://github.com/ch11ng/exwm
-
He's also behind expand-region! (Although, I've started experimenting with the much-smaller treesitter-based https://github.com/casouri/lunarymacs/blob/master/site-lisp/...)
I'm pretty sure when he wrote all of that stuff that he'd only been using Emacs for around a year. The benefit of someone that talented, or groks Emacs immediately, and is familiar enough with the outside-ecosystem to know what he wants to borrow, I suppose.
-
I have submitted a bugreport to neovim with steps to reproduce: https://github.com/neovim/neovim/issues/21696