I've tried the ported versions of Emacs and Vim, but I find they both lack features I rely on.

I'm a heavy vim user, and I am confident vim supports everything on your list. So does emacs. And both vim and emacs work across the platforms you listed. These are robust editors with a long history of development. It takes time to learn how to use many of their features. I think you should go back and investigate them some more.