새 파일의 시작/편집 속도가 느림

3679 단어 vim-fugitive
안녕하세요, 팀
도주범 플러그인을 시도해 보고 싶지만,vim을 입력하고 새 파일을 편집하는 속도가 느려집니다. (vim을 입력하고 분할해서 편집하는 데 10초가 걸립니다.)
내가 얻은 것은:
- 병원체가 ~/에 설치되어 있습니다.빔
-병원체#~/에 감염.vimrc(~/.vim/autoload/aghogen.vim에서 ~/.vim/bundle/aghogen/autoload/aghogen.vim까지의 링크)
-tabular는 ~/에 설치되어 있습니다.빔
이 설정을 사용하면 부팅이 매우 빠릅니다(문제가 있는 부분만 나열되어 있습니다).
$grep VimEnter vimlog pt
145.000.000: ViCenter 자동 명령
하지만 내가 도주범을 ~/에 설치할 때.vim/bundle 그리고 이상 시간에 10초까지 폭발:
$grep VimEnter vimlog fpt
9972.000 9811.00: ViCenter 자동 명령
10172.000 9976.00: ViCenter 자동 명령
9978.000 9810.000: ViCenter 자동 명령
9994.000 9826.00: ViCenter 자동 명령
어떻게 디버깅/시간을 줄입니까?
인사하다
안드레
주:cygwin(1.7.9)

묘사

에 관한 것입니다. 어떤 네트워크 파일 시스템과 관련이 있는지 말씀해 주시겠어요?

토론 #1

네트워크 파일 시스템이 없지만,cygwin은 linux보다 파일에 접근하는 속도가 훨씬 느리다. (셸에서 파일 이름을 완성하려고 시도할 때, 가장 뚜렷한 것은,linux에서는 매우 빠르지만,cygwin에서는 매우 느릴 수 있다. 특히 내가 완성하려고 하는 경로가 길고 끼워 넣을 때이다.)
그래서 나는: Detect와 내부: Extract Git Dir에 내기를 걸었다. 네가 나에게 어떻게 하는지 알려주면 나는 그것을 추적할 수 있다.
따라서 이 문제를 도주범의 기능을 명확하게 열어달라는 요청으로 더 많이 볼 수 있습니다. 예를 들어 다음과 같습니다.
- g:Survious manual git dir를 true로 설정합니다.
- 탈주범은 이 점을 감지하여 새 파일마다git dir를 찾아내려 하지 않지만, 수동으로 설정하면 정상적으로 작동합니다.

토론 #2

나는 스스로 이것을 실시하는 것을 허락한다.
불행하게도, 이 문제에 패치를 어떻게 추가해야 할지 모르겠습니다. 같은 문제에 대해 다른 요청이 있는지 확실하지 않습니다. (github에 익숙하지 않습니다.) - 원하시면 말씀해 주십시오.
네가 볼 수 있다면this patch
나는 이것에 대해 매우 만족한다. 이것은 다른 사용자에게 영향을 주어서는 안 된다.
인사하다
Andrzej

토론 #셋

이것은 #124처럼 들린다.GitHub의 최신 버전을 실행하고 있습니까?

토론 #4

네, 현재 버전은 다음과 같습니다.
$git rev 해석 헤드
64716b9622e5c3fae0caec7e9589988a9da146cb
그러나 나는 이상한 것들을 알아차렸다.ExtractGitDir에서 추적을 추가할 수 있습니다.
나/플러그인/도주범.윌
++w/플러그인/도주범.윌
@@-109, 6+109, 7@@ 우리: 추상 원형={}
기능!s: ExtractGitDir(경로) 중단
-let start=reltime()
path=s:shellslash(a:path)
만약 경로=~?'^탈주범://./'
matchstr로 돌아가기(경로는'survious://\zs.{-}\ze/')
엔디프
@@-116,6+117,7@@function!s: ExtractGitDir(경로) 중단
let of n=“”
nfn=fn 설정
fn!=ofn
- 메아리 fn."->". reltimestr(reltime(start))
isdirectory(fn)와 &filereadable(fn'/.git/HEAD')
반환 s:sub(simplify(fnamemodify(fn.'/.git',':p')),'\W$,'
elseif fn=~'.git$'& 파일 읽기 (fn.'/HEAD')
그가 평가한 결과는 내가 본 것이다.
“eval.txt”[readonly][converted]8397L,322476C
그럼 10초만 기다릴게요. 그리고...
/usr/share/vim/vim73/doc/eval.txt->0.000000
/usr/share/vim/vim73/doc->0.000000
/usr/share/vim/vim73->0.001000
/usr/share/vim->0.002000
/usr/share->0.002000
/usr->0.004000
/-> 0.005000
따라서 ExtractGitDir

토론 #5

를 호출하기 전에 해야 할 일이 있습니다. 이상하게도 디버그 로그를 더 많이 삽입하려고 했습니다. (이번부터 Survious.vim의 원본 코드에 설정되었습니다.)adblock 규칙을 편집하려고 했을 때 다음과 같은 정보를 얻었습니다.
입력:Detect(/win/d/Profiles/aao014/Home/adblockplus.txt)->142.703000
호출:ExtractGitDir(/win/d/Profiles/aao014/Home/adblockplus.txt)->142.703000
/win/d/Profiles/aao014/Home/adblockplus.txt->142.704000
/win/d/Profiles/aao014/Home->142.704000
/win/d/Profiles/aao014->142.704000
/win/d/Profiles->142.705000
/win/d->142.706000
/이기다->142.706000
/->150.637000
/win에서/(/win은 내 cygwin 마운트 지점입니다. 보통 사람들은/cygdrive로 설정하지만, 나는 이 짧은 이름을 더 좋아합니다.)

토론 #6

이것은 절대로 같은 오류의 또 다른 표현이다.당겨봐. 다시 해봐.

토론 #7

10초 딜레이가 해결된 것 같습니다. - 감사합니다!

좋은 웹페이지 즐겨찾기