%EB%A5%BC%20%ED%86%B5%ED%95%B4%20vim%EC%97%90%EC%84%9C%20%ED%8E%B8%EC%A7%91%ED%95%98%EB%A0%A4%EA%B3%A0%20%ED%95%98%EB%A9%B4%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EB%8D%94%20%EC%9D%B4%EC%83%81%20%EC%82%AC%EC%9A%A9%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
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)