为什么sleep 1 | vim文件会破坏外壳?
在我编写的shell上测试管道时,我注意到命令为什么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
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)