加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – vim上的GNU屏幕清除,更少等.出口

发布时间:2020-12-15 18:37:53 所属栏目:安全 来源:网络整理
导读:我对屏幕很新,但根据我在互联网上找到的各种建议配置了我的?/ .screenrc文件.我有一个问题虽然我很确定可以很容易地解决;我认为这是一个termcap设置..? 在独立bash中使用less,vim,top或其他程序(在Mac OSX 10.6上)后,退出这些程序后,终端的缓冲区将清除,当
我对屏幕很新,但根据我在互联网上找到的各种建议配置了我的?/ .screenrc文件.我有一个问题虽然我很确定可以很容易地解决;我认为这是一个termcap设置..?

在独立bash中使用less,vim,top或其他程序(在Mac OSX 10.6上)后,退出这些程序后,终端的缓冲区将清除,当前命令行上方的行将是我输入的上一个命令.
但是,有了屏幕,当我退出任何这些程序时,屏幕缓冲区将无法清除/刷新,我仍然会看到我在该程序内部看到的内容..有意义吗?

例如在独立的bash(没有屏幕): –

hostname:~ auser$vim afile 
[do stuff in file,then :q to exit]

退出后我会看到: –

hostname:~ auser$vim afile 
hostname:~ auser$

但在屏幕上: –

bash-3.2$vim afile
[do stuff in file,then :q to exit]

退出后,我会看到整个屏幕: –

~  # [Empty lines in vim are represented by these tilda characters. ]
...
~  # [ Every line on the screen is one of these tildas ]
bash-3.2$  # [ This is the bottom line in the terminal ]

我希望这有点道理.
任何&所有人都非常感谢! TIA

答案在于您正在使用的“真实”终端和通过屏幕呈现给应用程序的终端的终端功能.通过屏幕执行终端I / O的应用程序可以看到屏幕类型的终端.你的“真实”终端可能是从xterm到vt100的任何东西. (使用printenv TERM或同等版本查找.)

像vim这样的TUI应用程序可以根据他们发现自己正在与之交谈的终端来定制他们的行为.这个答案对于终止机制的机制的详细阐述来说太短了,甚至对于像vim和less这样的程序如何利用它的机制也是如此.关于这些东西有完整的书籍.一个非常简短的说法是,您的“真实”终端正在宣传屏幕终端不具备的功能.

另外,当然,这已经在SuperUser上得到了详细的回答,here和here以及here.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读