Okay, looks like the least common denominator is working best, in my testing, setting TERM=screen works in all of my test scenarios.
TERM=screen * Working: vim/tmux, vim/screen, mutt/tmux, mutt/screen, 256color2.pl * Broken: none
TERM=screen-256color * Working: vim/screen, mutt/screen, mutt/tmux, 256color2.pl * Broken: vim/tmux
TERM=screen-256color-bce * Working: vim/screen, mutt/screen, 256color2.pl * Broken: vim/tmux, mutt/tmux
TERM=screen-bce * Working: vim/tmux, vim/screen, mutt/screen, 256color2.pl * Broken: mutt/tmux
vim/tmux:
Okay, looks like the least common denominator is working best, in my testing, setting TERM=screen works in all of my test scenarios.
TERM=screen
* Working: vim/tmux, vim/screen, mutt/tmux, mutt/screen, 256color2.pl
* Broken: none
TERM=screen- 256color
* Working: vim/screen, mutt/screen, mutt/tmux, 256color2.pl
* Broken: vim/tmux
TERM=screen- 256color- bce
* Working: vim/screen, mutt/screen, 256color2.pl
* Broken: vim/tmux, mutt/tmux
TERM=screen-bce
* Working: vim/tmux, vim/screen, mutt/screen, 256color2.pl
* Broken: mutt/tmux
vim/tmux: