运行 来自 vim 的程序打开了另一个 window 打乱了我终端的格式

running a Program from vim that opens another window messes up the formating of my terminal

我在 gnome-Terminal 中使用 vim 来编辑 Python 程序。我也在使用平铺 Window 经理调用 awesome-wm。

在我的 Python 程序中,我正在将一些数据绘制到 matplotlib 图形中(执行时会打开另一个 window)。当我想测试我的程序时,我使用以下命令从 vim.

内部 运行 程序

:!python3 %

当程序 运行 打印三条消息到 shell 并打开一个 matplotlib window 来绘制数据。

有时我只能看到乱七八糟的换行符,必须向上滚动才能看到消息。 我现在的问题是,为什么控制台内的格式化搞砸了,我该如何解决?

我的猜测是终端 Window 在图 window 打开时没有注意到它正在调整大小,但我不知道在那种情况下如何刷新终端。 使用 :!clear; python3 % 没有帮助。

提前致谢。

(好吧,这不是您问题的直接解决方案,但就是这样。)

大多数终端没有正确处理调整大小的重排。没有正确的方法可以做到这一点,因此大多数人不会尝试使用书中的所有技巧来使它变得更好。毕竟,对于经典的浮动 window 管理器,调整大小并不是您经常做的事情。 LibVTE/Gnome-terminal 不是为平铺 WM 而设计的,多年来一直没有修补以使其更好。

Urxvt 可能是 AwesomeWM 最常用的终端(默认为 xterm,因为它在默认情况下安装得更普遍)。它具有更多高级功能,例如现代终端所期望的选项卡和透明度。请注意,其中一些(选项卡)默认情况下处于禁用状态。

有时使用像 tmux 这样的软件可以减轻任何给定终端的一些限制,但它有其自身的限制。