: Gwrite에 쓰기 위해 파일을 열 수 없습니다.
3672 단어 vim-fugitive
묘사
:Gwrite
에서 dp
로 들어간 버퍼에서 :Gstatus
연산을 했을 때 이 결과를 얻었습니다.Error detected while processing function <SNR>28_Write:
line 77:
"~/Source/projectf/00000gn/T/vGfJnpY/114" E212: Can't open file for writing
fugitive: fatal: Could not switch to '/Users/name/Source/projectf/00000gn/T/vGfJnpY/': No such file or directory
내 파일은 다음과 같습니다.https://github.com/aaronjensen/vimfiles내가 뭘 잘못했나?
토론 #1
unset TMPDIR
vim에 들어가기 전에 고정시킨다.그것이 도대체 어디에서 왔는지 알고 싶다.토론 #2
약간의 발굴을 거친 후s:buffer_path
의 경로를 통해 리포 디렉터리의 길이를 버퍼 경로에서 벗겨내는 것 같다.나는 버퍼링 구역에 도주범 접두사가 있어야 한다고 추측하지만, 어떤 이유로 그것이 없습니까?여전히 이 코드에 익숙해...토론 #셋
무엇을 설정했습니까?만약 그것이 공간이나 다른 물건이 있다면, 그것은 외피의 탈출 문제일 수도 있다.$TMPDIR
토론 #4
공간이 없다.보아하니/var/folders/76/4hcxz2cx1297y49qh3z5n_d00000gn/T/
의 코드가 내 환매 디렉터리에 있다고 가정하면, 이것은 정확하지 않다.나는 코드를 보지 못했는데, 코드를 제외하고는 아무것도 할 수 없었다.일부 상황에서 작동하는 유일한 이유는 임시 폴더의 길이가 보통 Repo dir보다 짧기 때문에 s:buffer_path
최종적으로 빈 문자열을 되돌려줍니다.s:buffer_path
이것은 OSX의 표준 임시 디렉터리입니다. 가능할 것입니다.네가 옳다.
토론 #5
에는 추가적인 보호가 있어야 하지만, 이것은 내가 OS X에서 일하는 데 매우 좋아서 다른 일들이 진행 중이다.버퍼에 어떤 경로가 있습니까?네, 그럼 진단이 정확합니다.배제의 첫 번째 가능성은추가 플러그 인.
2012년 12월 8일 토요일 오전 11:39, 앨런 젠슨[email protected]:
/private/var/folders/76/4hcxz2cx1297y49qh3z5n_d00000gn/T/vAWMncv/2
— Reply to this email directly or view it on GitHubhttps://github.com/tpope/vim-fugitive/issues/278#issuecomment-11160388.
s:buffer_path
에서 모든 플러그인을 삭제했지만 vundle과 Survious는 여전히 Repros입니다.:echo expand('%')
도 저의vimrc를 차단했습니다. vundle 불러오는 것 외에도 리프로스토론 #6
입니다./여기서 어찌할 바를 모르겠습니다.분명히 나는 복구할 수 있다/private/var/folders/76/4hcxz2cx1297y49qh3z5n_d00000gn/T/vAWMncv/2
. 그러나 이것은 단지 하나의 증상일 뿐이다.만약 토론 #7
라면, 당신은 모든 것이 정상이라고 확신합니까?아니면 묵묵히 실패한 것일까?토론 #8
그의 행동은 정상이다.제가 echom의토론 #9
랑... let rev = self.spec()[strlen(self.repo().tree()) : -1]
토론 #10
비율s:buffer_path
보다 길기 때문에 unset TMPDIR
이 ""(으)로 끝납니다.그것은 실제로 어떻게 일을 해야 합니까?그것은
토론 #11
경로여야 합니까?s:buffer_path
내가'행동이 정확하다'는 뜻을 알고 있음을 확보하기 위해 이렇게 할 것이다.버퍼를 닫고 차이점이 있는 파일로 바꿉니다.Gstatus 버퍼로 돌아가서
rev
를 클릭하면 파일이 표시됩니다.내가 이 점을 언급한 것은 내가 이런 행위가 좀 놀랍다는 것을 발견했기 때문이다.나는 그것이 Gstatus로 돌아가 자동으로 리셋되기를 바란다.
self.repo().tree()
나는 self.spec()
를 보았고 네가 그것으로 fugitive://
중의 단계적인 변화를 진행하고 있다는 결론을 얻었다.제 잘못입니다.나는 지금 이 문제를 재현할 수 있다.시험토론 #12
분지.통합하기 전에 Windows에서 시험적으로 사용해야 합니다.참고로
R
디프에서 한 행동은 기록이 없습니다. 이것은 기본적으로 당신의 기대에 부합되기 때문에 매우 성공적인 DWIM 시도입니다.토론 #13
효과가 있는 것 같습니다. 감사합니다!사실 나는 도움말 텍스트에서 이 생각을 얻었는데, 그것은 여전히 사람을 곤혹스럽게 한다. 왜냐하면 그것은 다음과 같이 말하기 때문이다. dp |:Git!| diff (p for patch; use :Gw to apply)
나는 dp
가 무엇을 가리키는지 확실하지 않다. :Gdiff
다른 곳처럼 붙인다.buffer_path
수평 균열이 아닌 수직 균열로 어떻게 열어야 합니까?:Gwrite
는 기호입니다.토론 #14
헤어지지 않아서 나는 너의 문제를 이해하지 못한다.p
무슨 뜻인지 모르겠지만 Gstatus 창에서 수평으로 분할된 dp를 가리키는 것 같습니다.그 이후로 나는 이렇게 많은 것을 써 본 적이 없다. 네가 최초의 문제를 복구했기 때문에 나는 끝났다.감사합니다!
Reference
이 문제에 관하여(: Gwrite에 쓰기 위해 파일을 열 수 없습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://github.com/tpope/vim-fugitive/issues/278텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)