尝试通过

尝试通过

使用 Mercurial 时,我经常做类似的事情

vim <(hg cat -r 42 somefile)

但是,如果我尝试使用大于几百行的文件,我会在 vim 中收到读取错误,并且只包含前几百行。如果我使用 gvim 而不是 vim,我会收到类似的错误

E211: FIle "/proc/3546/fd/63" no longer available

这不是应该起作用吗?我不知道它是否相关,但我在 bash 和 zsh 中都尝试过,结果相同,我也尝试过

cat <(hg cat -r 42 somefile)

正如我所期望的那样打印整个文件。

答案1

这些是管道,而不是常规文件。当vim关闭文件描述符时它就会消失。你可以这样做:

hg cat -r 42 somefile | vim -

vim据说它可能不是一个常规文件,因此会有相应的行为。如果您不想抱怨退出时数据尚未保存,请使用vim -R -或)。view -vim

或者zsh使用临时文件:

vim =(hg cat -r 42 somefile)

相关内容