Linux 如何避免终端消息干扰vim?

Linux 如何避免终端消息干扰vim?,linux,vim,terminal,tty,Linux,Vim,Terminal,Tty,有时我在TTY1/2/等中使用vim。我遇到了这个问题。以下消息不断充斥我的终端: [ 1050.29303] wlp3s0: failed to set TX queue parameters for AC 2 [ 1059.29340] wlp3s0: failed to set TX queue parameters for AC 2 [ 1020.12309] wlp3s0: failed to set TX queue parameters for AC 2 [ 1029.12899]

有时我在TTY1/2/等中使用vim。我遇到了这个问题。以下消息不断充斥我的终端:

[ 1050.29303] wlp3s0: failed to set TX queue parameters for AC 2
[ 1059.29340] wlp3s0: failed to set TX queue parameters for AC 2
[ 1020.12309] wlp3s0: failed to set TX queue parameters for AC 2
[ 1029.12899] something_else: some other logging message here
[ 1292.21300] yet_another_thing: hey look a distraction

这可能会造成相当大的破坏性,特别是当我使用vim工作时,有时甚至会导致我在不知不觉中把文本搞砸。至少在使用vim时,有没有办法消除这样的消息?使用:重画、编辑乱七八糟的行等不会使消息消失。

您可以将输出重定向到sh脚本中的文件。 在bash中,这将使用重定向操作符>。 如果您试图摆脱的是标准输出,则重定向箭头默认为该输出。如果输出为错误输出,则为文件描述符2,因此操作数为2>

例如,如果我打算在后台运行python脚本,同时使用vim,我可以像这样运行脚本


$python3 script.py>stdoutput.txt 2>errors.txt

您的行示例看起来像内核消息

您可以通过键入terminal来关闭dmesg消息的输出

sudo dmesg -D
这是一个临时解决方案,将一直工作到系统重新启动。要永久禁用,请编辑/etc/sysctl.conf文件以设置kernel.printk参数

kernel.printk = 1 4 1 3

我把第一个数字设为1,因为第三个数字是1。阅读更多关于和{参见SYSLOG_ACTION_CONSOLE_OFF command的描述}

这与Vim无关。你应该考虑问。@ SATOKATSURA我知道问题不是VIM的,但是我想知道VIM有没有一种方法自动清除屏幕,当这种消息出现时,或者至少有一些方法让我清除屏幕时出现这些。您应该能够使用Ctrl-L强制重画:重画执行其他操作。由于某些原因,它似乎不起作用。但是,使用:!clear刚刚开始工作,所以我可能不得不坚持。那么,不让klogd消息与Vim发生冲突而不是手动清理它们是否有意义?不幸的是,文本不是我在后台运行的脚本,它是系统日志/错误输出,所以这不是一个选项。你知道为什么你的终端会弹出系统日志信息吗?对不起,我应该仔细阅读你的问题,我现在不明白了