Mercurialを使用するとき、私はしばしば次のことを行います。
vim <(hg cat -r 42 somefile)
ただし、数百行を超えるファイルを使用しようとすると、vimで読み取りエラーが発生し、最初の数百行しか含まれません。 vimの代わりにgvimを使用すると、次のエラーが発生します。
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)