如何设置bash显示在退出后不显示vim文本?

mtk*_*mtk 39 vim terminal display

我的问题很简单,但我发现很难轻松地构建/解释它。

我用不同的帐户登录了几个 Unix 机器。我看到2个不同的东西user1user2,而在vim编辑文本文件

用户 1

当我输入时vim filename,vim 打开并编辑文件。当我关闭它时,文件中的完整文本消失了,我看到了之前存在的终端命令/输出。

用户 2

当我输入时vim filename,vim 打开并编辑文件。当我关闭它时,我在显示器上的文件部分vim仍然显示在显示器上,并且所有以前的终端显示都向上滚动。即使文件只有 1 行,在退出 vim 后,显示屏也会显示第一行,其余全部是~,我会在屏幕底部看到命令提示符。

细节

$ bash --version
GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
$ vim --version
VIM - Vi IMproved 7.0 (2006 May 7, compiled Jun 12 2009 07:08:36)
Run Code Online (Sandbox Code Playgroud)

我比较了vimrc两个用户的文件,我知道所有设置,但没有找到与此行为相关的任何设置/配置。

这种行为是否与 shell 配置有关?如何设置事物,以便获得user1场景中所示的行为?

我无法轻松描述这一点,也很难用谷歌搜索,因为我不知道用什么关键字来寻找这种行为。让我知道,如果我应该进一步详细说明。

Bit*_*Nix 30

这种行为的原因之一是为每个用户设置了终端。

例如:

  • User1 正在使用 TERM= xterm,在这种情况下,当您退出 vim 时,它将清除终端。
  • User2 正在使用 TERM= vt100,在这种情况下,当您退出 vim 时,它不会清除终端。

检查 user1 正在使用什么终端,echo $TERM并为 user2 设置相同的终端。对于 bash:

术语=xterm; 出口条款


Bar*_*oży 22

这种行为是唯一让我无法使用screen. 它使用“屏幕”终端并将其更改为“xterm”没有帮助。

altscreen on在 ~/.screenrc 中添加选项解决了它。从屏幕手册:

altscreen on|off
Run Code Online (Sandbox Code Playgroud)

如果设置为 on,则在虚拟终端中启用“备用屏幕”支持,就像在 xterm 中一样。初始设置为“关闭”。

  • 这成功了!关键词:“vim 退出,留下视觉神器终端” (2认同)