假设我正在运行tmux并使用"ls"在屏幕上显示一些内容。然后我进入Vim编辑一些文件。退出Vim后,tmux会擦除位于bash提示符上方的任何文本(不像clear命令,因为提示符停留在原地)。 有没有办法防止这种行为?我在OS X的Terminal.app中使用tmux 1.3。
$TERM
是什么?在使用tmux
和不使用时有区别吗?tput smcup; sleep 2; tput rmcup
是否可以在tmux
外切换屏幕并返回?在tmux
内呢?如果在tmux
中可以正常工作(使用我回答中的 alt-screen 设置),那么需要不同地配置vim
。在vim
中,执行set t_ti?
(对 t_te 也一样),并将输出与tput smcup|hexdump -C
(和 rmcup)进行比较。它们应该是相似的。 - Dennis Williamson