Say I open a terminal
$ echo $LINES
25
$ vi
:set lines?
25
:set lines=50
:!echo $LINES
50
-as I'd expect (and the terminal window resizes and everything works). But if I start tmux from a fresh (non-resized) terminal
$ tmux new -s resize_for_crying_out_loud
$ echo $LINES
25
$ vi
:set lines?
25
:set lines=50
:!echo $LINES
25
and vi is unusable because it gets confused and won't render right. I can adjust the window size with the mouse, and that gets both the :set lines? and :!echo $LINES commands to agree. Also TERM=screen-256color-it in tmux, TERM=rxvt-unicode-256color in normal terminal.
$ tmux new -s this_is_how_the_manual_says_to_resize -y 50
also doesn't work.