I would argue that vim is fantastic for a lot of editing and coding tasks, just not all of them.
Where it utterly fails is with deep trees of files in codebases, like you see in Java or some Javascript/Typescript apps. Even with a robust suite of add-ons, you wind up backing into full-bore IDE territory to manage that much filesystem complexity. Only difference is that navigating and managing a large file tree w/o a mouse is kind of torture.
File-based navigation is often inefficient anyway (symbolic navigation is much better when you can), but if you do need it, that’s what fuzzy finders are for. Blows any mouse-based navigation out of the water.
The only time a visual structure is useful is when you are actually just interested in learning how things are structured for whatever reason, but for that task, tree works just fine anyway.
Once I got used to single-directory filetree browsing plus fuzzy finding, I have never been able to comfortably use a traditional filetree anymore. most of them are not designed for efficient keyboard use (vscode and intellij at least) and don’t really help understanding the structure of the project imo (unless there arent that many files). For massive projects I find it easier to spend the initial effort of learning a few directory names and the vague structure using oil.nvim, and then eventually I can just find what I need almost instantly by fuzzy finding.
I would argue that vim is fantastic for a lot of editing and coding tasks, just not all of them.
Where it utterly fails is with deep trees of files in codebases, like you see in Java or some Javascript/Typescript apps. Even with a robust suite of add-ons, you wind up backing into full-bore IDE territory to manage that much filesystem complexity. Only difference is that navigating and managing a large file tree w/o a mouse is kind of torture.
File-based navigation is often inefficient anyway (symbolic navigation is much better when you can), but if you do need it, that’s what fuzzy finders are for. Blows any mouse-based navigation out of the water.
The only time a visual structure is useful is when you are actually just interested in learning how things are structured for whatever reason, but for that task,
tree
works just fine anyway.Fuzzy finding really shine for this use case, no need for a mouse.
Once I got used to single-directory filetree browsing plus fuzzy finding, I have never been able to comfortably use a traditional filetree anymore. most of them are not designed for efficient keyboard use (vscode and intellij at least) and don’t really help understanding the structure of the project imo (unless there arent that many files). For massive projects I find it easier to spend the initial effort of learning a few directory names and the vague structure using oil.nvim, and then eventually I can just find what I need almost instantly by fuzzy finding.