A Mastodon article by device researcher David Chisnall has a extremely Unsung opener:
I have used vim since about 2000. I have written five books, a PhD thesis, a few dozen document and complete 150 articles alongside it. At this point, my higher brain functions are not busy at all whenever I use a bunch of average vim commands, they fair happen. Documents I wrote alongside item alternatively have random :w in the middle.
Chisnall goes on to conversation concerning one particular vim feature:
Persistent undo is one of my favorite features of vim. […]
I don’t frequently need the persistent undo. But on the few occasions whenever I have needed it, it’s been invaluable: ooops, I deleted item from this file, perchance final week and one reboot ago, what was it? Undo until I discover it, copy it, paste it into the current version. Or, a bit additional commonly: I had this working, afterward I tidied it up prepared to commit, now it isn’t working, what did I do?
Vim has kept this operating throughout important type upgrades complete a duration of concerning 20 years. I don’t equal think concerning it, it’s fair part of Raskin’s First Law: A program may not damage a user’s data or, through inaction, authorize a user’s data to arrive to harm. If vim or the device crash, or if I near a document and arrive rear to it six months later, my undo former is motionless there.
NeoVim is a fork of vim (in news for another reasons):
So I tried NeoVim whenever it was fairly new. Vim that you are acquainted with, but better? Great!
The archetypal item I noticed in NeoVim was that undo didn’t work. I tried beginning the document in vim and undo didn’t activity there either.
Neovim had changed the format of the undo files. It hadn’t upgraded the old one. It hadn’t used a distinct name for its undo files. It had fair noticed the beingness of a vim undo file, deleted it (losing all of the data in it) and replaced it alongside one that vim couldn’t read.
I raised an matter concerning this and was told that the persistent undo format was unstable and users should not depend on data being preserved in a characteristic explicitly called persistent undo. It had changed formerly and would likely alter again.
And that ended my cognition alongside NeoVim. The authors showed immediately that they entirely could not be trusted alongside any of my data. Breaking persistent undo is item I could forgive as a bug, but the outlook that fair since item is a persistent document on your filesystem that contains data that you power desire is no logic for their program not to delete it meant they had no idea of a duty of attention to their users.
I liked this article (which I quoted nearly in its entirety), since it covers a few crucial things:
- I have never heard of the persistent undo akin that, and it seems benevolent of amazing.
- People do recall whenever application loses their difficult activity or disrespects them.
- I can see how “It had changed formerly and would likely alter again” can be specified a mighty feeling.
I additionally loved it for the appearance of Raskin’s First Law. Jef Raskin, of Macintosh and Canon Cat fame, put together the three laws in his 2000 publish The Humane Interface, and they go as follows:
- A device shall not damage your activity or, through inaction, authorize your activity to arrive to harm.
- A device shall not discarded your period or necessitate you to do additional activity than is strictly necessary.
- An interface is humane if it is receptive to individual needs and considerate of individual frailties.
It was a extremely crucial and formative publish for me to encounter as a young designer. I have no idea how these laws haven’t made it to Unsung before today.