Re:Emacs is special regarding UIs
by andreareina on Thursday September 10, 2020 @06:56AM
(#24431022)
If you didn't already know there's a command you can run to `find` files and put them in a dired buffer, then from there you can run an interactive regexp search/replace on all marked files. On mobile so I don't have the command names and key bindings available, but it's some combination of dired and find.
As for full fledged IDEs, no, I don't think Emacs can pretend to replace those, but you can still make the Emacs experience comfier. Linting is pretty good on Emacs with things like flycheck (& flyspell for spelling in say comments or commit changelogs).
For kernel C development I have a simple flycheck module that compiles the edited file and inlines all warnings / errors as lints. I also have another one for checkpatch (extra script you're meant to run before sending your commits to the mailing list); as a result I never have to look at any other window than the one where there is code in it.
For Python, pylint is supported out of the box by flycheck. Auto-completion is supposed to be feasible, but I had some issues with it and gave up - never felt like I really needed for what I do in Python anyway.
Fast navigation can be done with the usual cscope / gtags. More recently, I've been converted to using ripgrep for most searches (https://stegosaurusdormant.com/emacs-ripgrep/) as it is crazy fast. You can also directly edit the matches and commit the changes, which serves as a project-wide "search and replace".