I don't know. People keep saying that Emacs can work nice in terminals, but there's a specific bot-macro in the #emacs channel on Freenode:
<user>: ,terminal
fsbot [->] I heard terminals are [0] Terminals do weird thing to your keyboard input: http://catern.com/posts/terminal_quirks.html
fsbot [1] Terminals have limitations compared to the graphical windows; it's advisable to use "graphical" Emacs unless one has a good reason not to. See ,betterdefaults for disabling scroll bars, tool bars, etc.
fsbot [2] https://garbagecollected.org/2017/01/31/four-column-ascii/ ;;[ ,more / ,dump]
Yes, there are many GUI Emacs fans on #emacs, and one of them obviously happened to set up this bot message. But not everyone agrees that GUI Emacs is better.
Though terminals definitely have their quirks and limitations, they have some advantages over GUI Emacs.
For example, I have my Emacs configuration geared towards terminal use, and use it from within tmux. Because of this I never have to fear losing my Emacs session because X froze or crashed (which has happened from time to time). I can also use Emacs configured the way I like it even before X has started, and on remote systems without X (for which I don't like to use TRAMP mode because it also has the potential to freeze up).
By running Emacs in a terminal under tmux, I also don't have to mentally context-switch between the terminal and a separate GUI Emacs session. I have not been satisfied with any of Emacs' terminal modes, tough I have heard that libvterm is a lot better, so I might give it another go, though even if it's great at terminal emulation there are some other issues with running a terminal from within Emacs which may be insurmountable[1]... which leads me to the next point...
With Emacs running under tmux in a terminal rather than the other way around, I never have to fear losing all of my terminal sessions when Emacs freezes or crashes (which has also happened from time to time). By contrast, tmux is super stable, and I've never once had it freeze or crash, so I can 100% rely on it to keep my terminal sessions running no matter what.
[1] - Running a terminal under Emacs (even if it's a proper terminal like libvterm) has the issue of conflicting keybindings. I already have both Emacs keybindings and tmux keybindings that I have to make sure don't conflict, but if I add to those keybindings for any app I happen to run under a terminal under Emacs then there are bound to be way more conflicts. Of course, it's possible to require some extra keystroke to be pressed before sending on a raw keystroke to the terminal app, but that's just too painful for me to bother with except maybe under special circumstances. In the general case I prefer to have my shells running directly under tmux than in an Emacs terminal.
How do you configure tmux such that the keybindings does not conflict with emacs? To use them together, did you change your tmux keybindings, or emacs keybindings, or both? Do you mind sharing your keybindings?
As a long time tmux and vim user, I picked up emacs just so I could use org-mode, and installed evil-mode. I have been using GUI emacs but I'd love to use emacs in tmux. In tmux I had been using C-a as the prefix.
So you didn't change any keybindings then? I tried emacs in tmux and the very first thing I tested didn't work; in org-mode C-RET does not create another bullet - it only inputs a carriage return.
Update: Well it does the same thing even when I run emacs in terminal, without tmux. It looks like I may need to configure iTerm2 to interpret C-RET properly? I am not sure.
As an evil mode user, the keyboard input thing doesn't really affect me. That lets me use emacs on the terminal when I'm away from my computer no problem.