如何避免终端消息搞砸了vim?

时间:2017-02-22 14:57:53

标签: linux vim terminal tty

有时我在TTY1 / 2 / etc中使用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时?使用:redraw,编辑混乱的线条等似乎不会使消息消失。

2 个答案:

答案 0 :(得分:1)

您的线条样本看起来像内核消息。

您可以输入终端

关闭 dmesg 消息的输出
let getHeaders = headers => {

  let h = headers.split(/\s/);

  let o = {
    verb: h.shift(),
    path: h.shift(),
    protocol: h.shift(),
    headers: {}
  };

  while (h.length) {
    o.headers[h.shift()] = h.shift();
  }
  
  return o
};

var str = `GET /v1/search?q=bob%20dylan&type=artist HTTP/1.1
Host: api.spotify.com
Cache-Control: no-cache
Postman-Token: e2f09f98-f8e0-43f7-5f0e-b16e670399e2`;

console.log(getHeaders(str));

这是一个临时解决方案,在系统重新启动之前一直有效。永久禁用编辑sudo dmesg -D 文件以设置/etc/sysctl.conf参数。

kernel.printk

我将第一个数字设置为1,第三个数字为1.阅读有关kernel.printkklogctl(3)的更多信息{请参阅SYSLOG_ACTION_CONSOLE_OFF命令的说明}

答案 1 :(得分:0)

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

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

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