首先,FIFO是一种阻塞IO。进程在读取FIFO时会被阻塞,也就是说,当你执行vim somefifo命令时,vim进程会等待另一个进程打开somefifo进行写入。因此,你可以尝试启动另一个进程,例如,在新的终端中执行echo "foo">somefifo命令,然后你就可以在vim进程中执行正常操作,比如按ZQ退出。
echo A>somefifo
,然后再次执行echo A>somefifo
。 - Quasímodo