Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么sleep 1 | vim文件会破坏外壳?_Vim_Pipe - Fatal编程技术网

为什么sleep 1 | vim文件会破坏外壳?

为什么sleep 1 | vim文件会破坏外壳?,vim,pipe,Vim,Pipe,在我编写的shell上测试管道时,我注意到命令 sleep 1 | vim file 导致写入标准输出的文本在后续命令中未对齐。起初我认为这是我的shell中的一个bug,但后来我注意到它在其他shell(如bash和zsh)中具有相同的效果。为什么会发生这种情况?Vim需要一个交互式stdin(来自shell) 如果您不需要输入或: vim <(sleep 3; ls) vim -d <(ls) <(ls -a) vim由于某种原因无法在退出时恢复终端设置。您可以使用re

在我编写的shell上测试管道时,我注意到命令

sleep 1 | vim file

导致写入标准输出的文本在后续命令中未对齐。起初我认为这是我的shell中的一个bug,但后来我注意到它在其他shell(如bash和zsh)中具有相同的效果。为什么会发生这种情况?

Vim需要一个交互式stdin(来自shell)

如果您不需要输入或:

vim <(sleep 3; ls)
vim -d <(ls) <(ls -a)

vim由于某种原因无法在退出时恢复终端设置。您可以使用
reset
手动重置它们。您是否注意到
Vim:Warning:输入不是来自终端的
?Vim取决于是否能够访问终端输入和输出。如果不这样做,所有的赌注都输光了。(对不起,我不知道更多细节,因此无法回答。)
vim <(sleep 3; ls)
vim -d <(ls) <(ls -a)