When using vim or less in gnu screen, quitting vim or less leaves a lingering imprint

拟墨画扇 提交于 2020-01-31 04:33:58

问题


On my new Ubuntu system, I start a screen session and edit a file in vim or view it in less. After I quit, the screen doesn't redraw itself, but simply scrolls up to show a command line under all the stuff I was just viewing in vim or less.

How can I change this so that quitting vim will return me to the screen the way it was before I invoked vim?


回答1:


screen's altscreen (alternate screen) feature is turned off by default.

Add this to your .screenrc:

altscreen on

See: http://www.gnu.org/software/screen/manual/screen.html#Redisplay




回答2:


This is caused by your termcap for screen being incomplete. (This seems to be a really common problem.) Vim doesn't know the sequence for restoring the screen, so it just leaves it like it was.

You can work around this problem by setting vim's term option (or the TERM environment variable before you start vim) to a terminal that's "screen compatible", like xterm. eg:

TERM=xterm vim

or (in vim):

:set term=xterm

You can set the t_ti and t_te options in vim to the right codes. See :help xterm-screens in vim for more details.



来源:https://stackoverflow.com/questions/2181042/when-using-vim-or-less-in-gnu-screen-quitting-vim-or-less-leaves-a-lingering-im

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!