And for the use case of "I built txt because I spend most of my time in the terminal, and switching to a different tool just to make a quick edit always felt like friction I did not want. The editors that live in the terminal either have steep learning curves built around modal paradigms, or they are too limited to be genuinely useful."
it's literally only a handful of vim commands and shortcuts you need.
Instead of "verb object" (eg. delete word or "dw"), it is "object verb" (eg. word delete, or "wd").
In particular, it seems to obsolete "visual mode" from vim (which I use often), because you're essentially always in visual mode. You always get to see a selection before you perform an action. Or at least that's what I understand, I haven't tried it yet.
That sounds like an amazing investment, really makes me want to learn it too!
We should be introducing people to vim long before they are learning it under pressure. As you say, it's really not a lot to remember.
> txt is not trying to replace your main IDE. It is the editor you reach for when you just need to edit something
These two are in conflict. If you just want to edit something, and don’t know [n]vi[m] or emacs, then use nano. If you want line numbers, code folding, syntax highlighting, etc. then it sounds like you should spend the time to learn a more powerful editor.
Honestly, vi isn’t that hard to learn the absolute basics, and you should spend the 15 minutes to do so, because it’s practically guaranteed to be available everywhere. :wq and i are about all you need to “just edit something.”
You don't need to reach for the mouse, are you not aware you can launch, switch apps, and type just with your keyboard?
But also, how is your demo using a mouse of your whole selling point is anti-mouse?
With the amount of new seemingly well polished personal projects being built (thanks to the help of LLMs) I feel increasingly concerned by how easy it is becoming to get a worm/virus/troyan to a lot of people.
- it would be absolutely amazing if one of the guys writing posts along the lines "here is our super duper text editor"...
- would actually explain in a series of blog posts how they built a text editor from scratch and I am not talking about code...
- I am talking about architecture, methodology, how each feature is implemented on paper before coding it, thought process behind one..
- I am amazed that we live in a world where people create all types of software and yet little to no blog posts ever discuss the thought process and methodology behind them...
- like why did you do this...
- why is this feature implemented in this way and what are the alternative implementations and why did you pick this implementation over the others
While vim and emacs have their advantages which I don't want to discuss here, they are also the "big players" with their own philosophy, shortcuts and commands. Which is a hassle to learn when you're used to GUI editors.
Why not let a little space for users who don't want to re-learn how to edit a file ?
So, I ain't reading all of that.
It's what I'd hope a well-written readme should look like, I think.