Well, an LSP setup lets you perform any common refactoring operations I can think of (rename, go-to-definition and more). Not sure what local history is, just ctrl-z? Git is obviously a nice thing to have, and most editors (vscode, emacs, and lastly vim somewhat) have all basic git operation available that make sense in your editor (like git blame). Going further, there's snippet managers that let you quickly write boilerplate (if you use such an unfortunate language that is filled with it). For global search&replace I either use a line of perl in the terminal or
ag 'search_pattern' | xargs gvim and go through the matches one by one, file by file.
So all in all I'd say you _can_ manage most of those things well with a relatively basic editor setup. The upside is that you now have a unified editor for every language and you can still use your IDE occasionally if it offers something extra, like a nice debugger. The downside is some amount of initial setup.
>peak editor doesn't have peak editing capabilities
what am I reading