![Gnome 终端中的 Vim 说“输出不是到终端”](https://linux22.com/image/91000/Gnome%20%E7%BB%88%E7%AB%AF%E4%B8%AD%E7%9A%84%20Vim%20%E8%AF%B4%E2%80%9C%E8%BE%93%E5%87%BA%E4%B8%8D%E6%98%AF%E5%88%B0%E7%BB%88%E7%AB%AF%E2%80%9D.png)
我有几个理由认为我的终端表现得像控制台。
我使用 GNOME 终端 3.18.3。
当我在 fedora 23 上从终端打开 vim 时,会发出以下警告:“Vim:警告:输出不是到终端”。
当我打开命令手册时,它不会将终端切换到“阅读”模式。我的意思是,它不会让我进入手册页,在那里我可以使用 HJKL 滚动并使用 q 退出。相反,它只是通过像 ls 这样的命令一口气打印出手册的内容。
像 ls 这样的命令没有颜色。
我认为这是在我尝试使用 Ctrl+Alt+F3(从控制台)使用计算机后发生的。
如何将我的终端设置回之前的状态?
答案1
您可能(尝试)将 shell 的输出重定向到文件,例如,类似
bash -i | tee foo
$ vim
Vim: Warning: Output is not to a terminal
虽然你可以读通过这种方法从键盘发出(大多数)命令,输出不再是一个终端。您可以通过关闭该 shell 并以不同的方式捕获输出来恢复:该script
命令可以捕获发送到终端的输出而不干扰它。例如
script -c bash foo
将会写全部运行该命令时发送到终端的文本的内容bash
,并且输出仍然是终端(而不是管道或文件)。
进一步阅读: