防止Vim在退出后清除终端


15

如果我做:

$ less file

然后按q退出less,我less仍然看到与仍在运行时在屏幕上显示的文本相同的文本。

但是,如果我这样做

$ vim file

而且:q,我的终端空白...

退出less和后我的终端的屏幕截图vim

在此处输入图片说明 在此处输入图片说明

我可以以某种方式防止这种情况发生吗?这在我的Linux系统上。我的FreeBSD系统实际工作正常(使用各地相同的软件/设置,TERMxterm-color两个,vim -u NONE不有所作为)。

我想要的示例:

在此处输入图片说明

Answers:


18

默认情况下,VIM在终止时会将配置了该选项的字符串发送t_te到托管终端,以告知其清除屏幕。为了避免这种情况:set t_te=,请不要向终端发送任何内容,也不要清除屏幕。查看:help term表格有关终端功能的更多信息。


2

当您使用xterm时,可以使用其主屏幕缓冲区和备用屏幕缓冲区进行屏幕交换,如本节.vimrc中所述。

if &term == "linux"
    set t_ti=^[[?1049h
    set t_te=^[[?1049l
endif                                                       

注:^[不是文字文本,它是转义字符,使用Ctrl+ v之后Esc,将其插入。

这些vim命令添加了Linux terminfo条目中可能缺少的相关命令。有关更多信息,请访问

:help xterm-screens

嗯,似乎还没做什么?它就像我使用一样起作用set t_te=,但是我认为它应该做得更多?
马丁·图尔诺伊
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.