3 ms·
This. First of all, I don't know about vim/neovim, but I think a lot of the issues apply there as well. When I develop software, I don't need an editor, I nee
by fhennig 7y ago
This.
First of all, I don't know about vim/neovim, but I think a lot of the issues apply there as well.
When I develop software, I don't need an editor, I need a development environment. I spend 90% of my time reading code, so reading and navigating the codebase should be very straightforward. Most importantly I want to have a tree view of the files in the project, I want to be able to jump to function/class definitions and I want to show usages of functions.
Another big thing is debugging. IntelliJ has really good debugging capabilities.
Also auto-completion.
I think some of these you can get in vim/emacs, but it doesn't come out of the box. I sometimes miss some of my emacs shortcuts/features, but not enough to drop all the amazing things that IntelliJ is offering.
- simias 7y agoI often switch between several programing languages, I often switch between projects, I like being able to dig into the code source of some tarball I found online without configuration. I find that deep editor integration gets in the way more often than not. For navigating the project I use helm on emacs, fzf on vim. I can just fuzzy-match anything I'm looking for instantly. I find filesystem treeviews useless, they use a lot of screen real estate and they're annoying to navigate, I don't see the point. For navigation ripgrep does most of the job complex language engines do and it works across languages without any configuration. For C I sometimes use cscope and ctags but even there I often just call ripgrep because why not? For auto-completion I also find that a very naive algorithm completing words from existing buffers works reliably and efficiently, with zero configuration and tweaking. Sure you don't get context-aware completion but that never bothered me too much to be honest. For debugging I can't really disagree with you, both Vim and Emacs are very limited in that regard (Vim especially so). That being said, maybe if I gave those big IDEs a chance I'd never go back, who knows. Besides I could spend an hour listing things I think Vim and Emacs do wrong so it's not like I think they're perfect editors.
- htfu 7y agoTree view and go to def plus basic autocompletion (through tags) are very much built into vim. The rest can be done through plugins, these days very painlessly - but admittedly even a few years ago rather a hassle to set up. Debugging, while perfectly doable depending on language, is I'd say the one thing still rather awkward.
- 314 7y agoFor most of the code reading tasks that you list I would use a bash terminal in the project directory. What is the advantage of having them as functions in your editor?