I'm primarily a graphic designer who does occasional web development. For me, BBEdit works very well. I use it both for developer projects (editing code, editing system files) and for general text processing (cleaning up, formatting, or extracting text). I like that it offers real-time previews of edits to web project files. It comes with some nice editor themes and supports adding more or customizing them. I expect that for some coders, it will be inadequate. It is not an IDE. On the other end of the spectrum, someone who expects an experience more like Microsoft Word will be very disappointed; or if they wanted something more along the lines of Windows Notepad, they may find it to be overkill. It is an ASCII text editor with many advanced commands and tools built-in.
Vim does the job of being a good text editor well and is not attempting to solve other jobs as well. The relative ease with which it can be modified and extended makes it a good candidate for being a full IDE, but most of our users continue to use Vim as a second tool, for quick edits of a single file, or when remoting into a box, while keeping a full IDE for the day to day work.
BBEdit remembers what I had open, so I never have to worry about losing work when I accidentally close the software. It will hold onto information almost indefinitely, so that the next time I open a program, I can access the information that I may have forgotten to save. Thankfully, its save function is also very simple to use, so I recommend still saving your work as needed.
Scripts are the most important aspect of BBEdit for the company I work for. Being able to import scripts and create new ones all in the same location are great.
Vim is incredibly light-weight with little to no dependencies and is almost guaranteed to exist on any GNU/Linux server that you have. You won't have to worry about managing package dependencies to get it on any system that currently doesn't have it. It won't ever hog resources or be the bottleneck in your coding/editing process.
Vim is highly configurable. I would say extensible, but really, it's the configuration and plugin capability that I want to highlight. It can function and look like anything you want - that's why it's so popular even with coders who want to optimize it for everything from C/C++ coding to Python coding. Syntax highlighting, code linting etc are all supported. But for just text editing and viewing, you can make it look exactly like you want - and then because of its highly portable nature, if you use Vim on another system, you can just grab the configuration file and voila! you've got it looking exactly like you had set up in seconds!
Vim promotes productivity. Really, this is a no-brainer. with all it's shortcuts, and ability to map keys to functions, it really makes viewing, editing, selecting, tweaking, text files highly efficient.
It has some esoteric functions that are really useful. So this point is something that I find is underrated. Often times, when transferring files between different Operating Systems, or even moving files using different protocols (saying you're using SFTP to get a file from one spot to another, or then you're storing it on NFS and then moving it locally, etc), you'll get weird issues with the file that may not show up unless you can spot the glyphs visually - that's where Vim comes in. It has the ability to show the corrupted portions of a file in a visual way so you can easily see which portions of the file are messed up
The cost of this product has just become too much for the functionality that most people need. You can find free or $10 tools that do what most people need to do.
The BBEdit program has lots of functionality, but could it be too much? Are there too many options?
While the benefits of having a terminal UI mostly outweigh the downsides, it would be nice to have mouse hover and drop-down features like in VSCode. Projects like Neovim and CoC help with this, but there's a long way to go.
Since it is so customizable, the user needs to maintain his or her development setup over time and make sure all the plugins work well together. This can be more challenging if many plugins and customizations are used.
Once you learn Vim well, any text entry field that doesn't use Vim keybindings will feel broken.
I don't consider the steep learning curve to be a hinderance on the overall usability. I would rate this a ten, but to be honest a lot of people do get hung up at the beginning and just abandon it. However, for people who have made the moderate effort to get over the hump, nothing can be more usable.
I've been using BBEdit — no joke — for nearly three decades now. Believe it or not, I'm still getting "upgrade pricing" 13 versions later. Bare Bones' support has always been stellar, and pricing continues to be affordable compared to similar tools.
There is no commercial support for Vim. Thus, it will not get a mark beyond 5. However, community support is very good. You can easily find solutions for most of the problems in the community.
Vim's keybindings are a lot more complex than Notepad++. With that, comes a whole bunch of capability that Notepad++ just can't match. Emacs is comparable, in terms of capabilities--because Vim is built into so many unix systems, I chose to learn it instead of Emacs. Knowing both probably isn't a bad idea, but there's enough to learn in either camp to keep you busy
It saves me time, not only with web projects, but even with design, when I want to strip out formatting in text, I bring it in to BBEdit to clean it up.