https://github.com/akermu/emacs-libvterm
(global-set-key (kbd "H-v") 'vterm)
"A language is homoiconic if a program written in it can be manipulated as data using the language, and thus the program's internal representation can be inferred just by reading the program itself. This property is often summarized by saying that the language treats "code as data"."
[0] https://en.wikipedia.org/wiki/Homoiconicity
(Edit: and if you want a good terminal emulator, you have eshell (emacs-y), ansi-term, and my current fave vterm [1])
I found vterm[1] to be pretty reliable for any kind of "advanced" terminal use. Also much faster when dealing with large amounts of output.
Interesting, my impression was that custom keybindings was more flexible in Emacs + Evil than in Vim. It seemed easier to e.g. define new modes with separate keybindings, and if you use the GUI version, more distinct keybindings are available.
> And the other thing that I could never get used to is that Emacs' terminals can't handle ncurses applications.
It can now. The problem is that there are a lot of shells and terminals available in Emacs, so it's not always obvious which one supports what. But emacs-libvterm [1] is a "real" terminal inside Emacs, and supports ncurses apps well. (The website warns about being alpha level, but I used Emacs + Evil for about half a year, and it worked fine for me.)
[1]: https://github.com/akermu/emacs-libvterm
> I'm fine with Vim, but I'm glad I tried Emacs for a while because it does have some nice ideas.
I ended up with the same conclusion :).