But I suppose people that use emacs and vim are like vegans. Those that do, are definitely going to tell you about it.
If you’ve been doing vim or emacs since the 80s then great but I’m not going to go through months of configuration hell to repurpose vim into an IDE when I can do it the other way around.
A good example is SpaceVim that enables people who don't want to configure everything to use VIM as an IDE that provides most of the tools you'd need for developing.
E.g. it has a linter for python, mouse support and code-completion. I don't need much more to develop most of the time.
VIM is awesome and I think what most people whining about it ignore is the fact it runs in a terminal (vs. some big bloated piece of sh*t).
* Go to definition
* Extract method
* Introduce parameter
* Inline variable
* Rename method
* Rename variable
In a Jetbrains tool these are automatic / atomic operations.
* Change signature
* Convert Anonymous to Inner
* Convert to Instance Method
* Encapsulate Fields
* Extract refactorings
* Extract constant
* Extract Field
* Extract interface
* Extract method
* Extract Superclass
* Extract variable
* Extract parameter
* Extract into class refactorings
* Find and Replace Code Duplicates* Generify Refactoring
* Inline
* Invert Boolean
* Make Static
* Migrate
* Move and Copy refactorings
* Pull Members Up, Push Members Down
* Remove Middleman
* Rename refactorings
* Replace Constructor with Builder
* Replace Constructor with Factory Method
* Replace Inheritance with Delegation
* Replace Temp With Query
* Safe delete
* Type Migration
* Use Interface Where Possible
* Wrap Return Value
Meanwhile, merely performing a simple pure-text find-replace across multiple files using vim and emacs is a chore. And better hope you don't screw it up because there's often no easy way to safely undo such a change, especially not with a single keystroke. The idea that even master-level users of vim/emacs could begin to hope to replicate the operations listed above with the depth, accuracy, and user-friendliness that IDEA offers is simply laughable. Any granddad worth his salt is perfectly capable of understanding that advancements in software have yielded tools that are by far and away objectively superior for a wide variety of development tasks.
[0] https://www.jetbrains.com/help/idea/refactoring-source-code....
It is not, i do that fine in emacs. Half of your list can be done with regex replace. Things like extract and refactor needs language specific tooling that can be done with text editor too(see LSP). And some stuff on your list doesn't even apply to other languages that they have community support for e.g. Rust.
But sure Jetbrains has put lot of effort on these tools for a few languages that you can certainly benefit for a large project. Outside of that good luck using it for any other language.
Even in the best case scenario where regex works, you've still spent unnecessary mental overhead writing regex, a tool that is so difficult to use properly that it is the textbook example of being a 'solution' that causes more problems than it solves. Why subject oneself to such unnecessary hassle?
Or have a go at https://github.com/daviddenton/refactoring-golf
CALL -151
!
And type 65C02 assembly.Now get off my lawn.....
> Beyond a certain level of codebase complexity, there is simply no way to do the job with a text editor
An absurd claim. How can you interpret my post as a "get off my lawn" type thing?
And some people also still write in assembly. I also thought that any high level language was useless. Then I thought anything more high level than C was for beginners.
But I grew up and start being more concerned with making money and implementing solutions than having geek cred...
It really does help to get a reminder from the IDE regarding which methods exist and what their parameter lists are. For C, ctags works well enough I guess and we can complete function names that way. But for Java and C#, I can't imagine that going well.