如何避免终端消息搞砸 vim?
How can I avoid terminal messages screwing up vim?
有时我在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
、编辑乱七八糟的行等似乎无法使消息消失。
您可以将输出重定向到 sh 脚本中的文件。
在 bash 中,这将使用重定向运算符 >
。
如果您要删除的是标准输出,则重定向箭头默认为标准输出。如果输出是错误输出,这将是文件描述符 2,因此操作数将是 2>
例如,如果我要在后台 运行 一个 python 脚本,同时使用 vim 我可以 运行 这样的脚本
$ python3 script.py >stdoutput.txt 2>errors.txt
您的示例行看起来像内核消息。
您可以通过在终端
中输入来关闭 dmesg 消息的输出
sudo dmesg -D
这是一个临时解决方案,在系统重新启动之前一直有效。要永久禁用编辑 /etc/sysctl.conf
文件以设置 kernel.printk
参数。
kernel.printk = 1 4 1 3
我已将第一个数字设置为 1,因为第三个数字是 1。阅读有关 kernel.printk and klogctl(3) 的更多信息{请参阅 SYSLOG_ACTION_CONSOLE_OFF 命令的说明}
有时我在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
、编辑乱七八糟的行等似乎无法使消息消失。
您可以将输出重定向到 sh 脚本中的文件。
在 bash 中,这将使用重定向运算符 >
。
如果您要删除的是标准输出,则重定向箭头默认为标准输出。如果输出是错误输出,这将是文件描述符 2,因此操作数将是 2>
例如,如果我要在后台 运行 一个 python 脚本,同时使用 vim 我可以 运行 这样的脚本
$ python3 script.py >stdoutput.txt 2>errors.txt
您的示例行看起来像内核消息。
您可以通过在终端
中输入来关闭 dmesg 消息的输出sudo dmesg -D
这是一个临时解决方案,在系统重新启动之前一直有效。要永久禁用编辑 /etc/sysctl.conf
文件以设置 kernel.printk
参数。
kernel.printk = 1 4 1 3
我已将第一个数字设置为 1,因为第三个数字是 1。阅读有关 kernel.printk and klogctl(3) 的更多信息{请参阅 SYSLOG_ACTION_CONSOLE_OFF 命令的说明}