繁体   English   中英

如何阻止VI重叠并隐藏命令行输出的最后一页?

[英]How can I stop VI from overlapping and hiding the last page of command line output?

目前,当我在屏幕内的终端窗口中启动vi时,vi程序占用整个屏幕并覆盖那里的任何输出历史记录,然后在退出时保持在那里。 因此,当稍后向后滚动我的终端输出时,vi窗口下的输出被屏蔽。

我目前在我的bashrc中使用以下别名解决这个问题...

alias vi='for i in $( seq 1 $LINES ); do echo ; done ; vi'

到目前为止,这种方法运作得很好,但它让我感觉很糟糕,我担心我会遇到一种不可预见的情况,它会在某些时候让我失望。 我想知道是否有vi或屏幕的命令选项或其他更简单,更有效的方法来实现相同。

谢谢。

如果您使用GNU Screen,.screenrc中的以下行应该可以解决问题:

altscreen on

这将确保在您退出Vi后恢复旧内容,并且它不会再混乱您的回滚历史记录。

尝试将set t_ti= t_te=添加到.vimrc文件中。

要修复显示此行为的less,请在.bashrc文件中设置export LESS=-X

注意:某些终端(如urxvt)能够使用如下设置全局修复所有ncurses程序: urxvt*secondaryScreen: false

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM