I do find this behavior odd but then I realized that this cancel-applies mentality has been with us all along: https://creativepro.com/secrets-of-the-esc-key/ "The effect of the Esc key is often the opposite of the Enter (or Return) key." "Be aware of how the Esc key works in each application you use because it doesn’t work the same way everywhere... where the Esc key applies the change."
I can understand hitting escape to not lose data or settings in a data entry case but not while in a temporary command prompt. I think I never noticed this behavior because when I want to cancel a command I use ctrl+c. Ropers, you may want to get into this habit too. One thing I was curious about was when does <escape> cancel? The vi(1) manual states "or cancel it if it is only partial." but I can't find this "partial" cancellation case. I tried a partial command ':!' and then hit <escape> and I get a usage message much the same as if I would have hit <enter>. Or try an incomplete string as in ':w "foo' <escape> gets an error "Shell expansion failed." As far as I can see pressing <escape> is functionally identical to pressing <enter> while in the ex command line with no exception unlike the documentation stated. -- -alfred