Gstatus의 연속적인 차이가 혼동되었습니다.
묘사
여보세요,나는 에서 자주 이런 문제를 만났다고 생각한다. @tpope의 도움으로 나는 이 문제를 쉽게 재현할 수 있다.
D를 사용하여 수정된 파일을
Gstatus
창에서 연속적으로 확산할 때(모든 창을 현저하게 닫지 않음) 최소한 한 개의 파일이 다른 옵션의 다른 창에서 열리면 확산은 혼합된다(확산에 두 개 이상의 파일이 포함된 것과 같다).'hidden'
가 설치되지 않은 경우에도 이러한 상황이 발생합니다.분류되지 않은 수정된 파일로만 복사할 수 있지만, 분류된 파일에서 이미 보았다는 것은 확실합니다.문제를 재현하기 위한 정확한 단계(최소 두 개의 미노후 수정 파일 F1 및 F2 필요):
- 한 탭 T1, 다른 탭(T2)에서 F2 열기
- T1로 돌아가 Gstatus 창 열기
- F2에서 D 클릭
- Gstatus 창을 다시 선택하고 파일의 기본 버전을 표시하는 탈출 창이 Gstatus를 다시 선택하기 전에 선택한 마지막 창인지 확인합니다(현재 수정된 파일이 아님).
- F1에서 D 타격
이 점에서 차이에는 환각의 차이가 존재해야 한다. 마치 차이에 F2가 포함된 것 같다. 실제로 새로운 (수직) 분할 방식으로 F2를 열면 차이에 관여하는 것을 볼 수 있다.
토론 #1
나도 이 문제를 겪었지만, 지금까지 어떻게 정확하게 복제해야 할지 확실히 알 수가 없다.토론 #2
네가 알게 되어 기쁘다!나도 줄곧 그것을 복제하려고 시도했지만, 파일이 노화되지 않았을 것이라는 것을 알아차리지 못했다.토론 #셋
내가 유일하게 이 문제를 가진 사람이 아니라는 것을 보니 기쁘다!한마디 더 하자면, 지금 나는 그것을 실현하는 확실한 조건을 찾았고, 나도 해결 방법을 찾았다. Gstatus를 다시 선택하기 전에 현재 수정된 파일을 포함하는 창을 선택하면 다음 diff는 이전과 혼동되지 않는다.@t 희망,
diffoff!
이 여기에 쓸모가 있는지 알고 싶습니다.새로운 차이를 만들기 전에 옵션 카드의 모든 창에 차이 모드를 사용하지 않는 것이 도움이 될 수도 있습니다.여기서 해결책을 찾은 사람이 있습니까?나는 commit final을 호출하기 전에 먼저 d로 모든 조작을 완성하고 싶지만, 위에서 말한 바와 같이, 차이는 곧 망칠 것이다.현재, 나는 확산을 정상 상태로 회복하기 위해 전체 옵션 카드와 '옵션 sp' 를 닫아야 한다.토론 #4
Currently I have to close the whole tab and "tab sp" again to restore diffing to a sane state.
나의 해결 방법은 상태 서명 옵션 카드
토론 #5
를 제외한 모든 다른 옵션 카드를 닫는 것이다.큰일났다. 왜냐하면 나는 업무 공간을 잃었기 때문이다. 그러나 나는 더 좋은 해결 방법이 있는지 모르겠다.토론 #6
이전의 평론을 참고하여 어떤 옵션도 닫지 않는 해결 방안(즉, Gstatus 창을 다시 선택하기 전에 현재 파일을 포함하는 창을 선택하는 것)을 이해하십시오. 그러나 이것은 최선의 해결 방안이 아니라는 것을 인정합니다.:tabo[nly]
창의 차이점(토론 #7
을 닫고 다음으로 이동하고 있습니다.그것은 상당히 번거롭지만, 내 작업 공간에 대한 파괴성은 더 적은 것 같다.토론 #8
네 @mMontu. 같은 방법도 적용되는 걸로 알고 있습니다.보낸 사람: Gstatus^w-↓ ^w-q^w-↑만약 정말 변화가 없다면, 다음 파일만 수정하면 큰일이다.
:q
와!네가 이 문제를 재현할 방법을 찾게 되어 매우 기쁘다.이 일은 나를 여러 해 동안 괴롭혔다.지금 해결책을 찾았으면 좋겠어요...fugitive://...
기록: 저는 이런 문제를 겪은 적이 있습니다. 문제 중의 건의를 참고하여 문제를 해결했고 차이가 정확합니다.참고로 이 솔루션은 다음과 같습니다.
토론 #9
이 수법은 매우 유용하지만,토론 #10
는 훨씬 빠르다.나는 본래 이 문제를
토론 #11
에서 자동으로 집행:bufdo diffoff
해서 해결할 수 있다고 생각했었다.토론 #12
불행히도 저는 이걸 복제할 수 없습니다. 관련 코드는https://github.com/tpope/vim-fugitive/blob/e5935c116570d2375c57242cf64fc2fd32d8cb01/plugin/fugitive.vim#L1380- L1391, 지금 벌어지고 있는 일을 디버깅하고 싶은 사람이 있다면.시도할 수 있는 것은 그 뒤에:bufdo diffoff
를 추가한 다음 diff 창의 숨겨진 위치를 찾아내는 것이다.:diffoff!
는 버퍼 로컬 옵션이 아닌 창 로컬 옵션입니다.나는 결코 완전히 반대하지는 않는다.
diffoff!
그러나 나는 내가 이해하지 못하는 문제에서 그런 핵무기를 사용하고 싶지 않다.D
이런 일이 나한테 자주 일어나서 정말 짜증나.왼쪽 diff 창을 수동으로 닫아서 피하고 새 내용을 diff합니다.토론 #13
가 다른 라벨에 영향을 주지 않는 상황에서 필요한 일을 했다는 것을 감안하면 목표가 명확한 핵무기인 것 같다.그나저나 이 구멍은 매번 생기는 것 같지 않아요. 어떻게 된 일인지 모르겠어요.
return
@tpope는 내가 최초로 발표한 내용을 정확하게 따르는 것을 통해 이 점을 재현할 수 있습니다.저도 깨끗한 것을 시도해 보았으니 주의하세요.vimrc/.vim(도주범과 병원체만), 나도 이런 상황에서 그것을 복제할 수 있다.: Gdiff를 보낸 후에 Gstatus 창을 선택하고 다른 창을 선택하지 않도록 하시겠습니까?'diff'
그래, 마지막 초점 창이 아니라 다른 창에 초점이 전혀 없어.조사 후에 전화해도 됩니다diffoff!
.나는 제출 메시지에서 나의 분석을 설명했다.토론 #14
감사합니다!2017년 5월 19일 금요일 오후 6:16에 짐 보프[email protected]는 다음과 같이 썼다.
Okay, so it's not the last focused window, but the fact that the other window never had focus at all. After looking into it I am okay with calling :diffoff!. I explained my analysis in the commit message.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/tpope/vim-fugitive/issues/534#issuecomment-302823704, or mute the thread https://github.com/notifications/unsubscribe-auth/AANhpbLPSARR3bNd18jb0rkF3sskQTNuks5r7hTEgaJpZM4CW4-Q .
--
데이비드 라시
[email protected]
diffoff!
이것은 왜 그것이 항상 나에게 재현되지 않는지 설명할 수 있을 것이다.고쳐줘서 고마워!토론 #15
아, 일리가 있는 거예요. 지금 제가 이 문제에 부딪혔는데 바로 당신이 제출한 메시지에서 언급한 상황인 걸로 기억해요.당신이 이 문제를 해결해 주셔서 감사합니다. 만약 우리가 정말 원인을 알게 된다면 더욱 좋을 것입니다.필요한 것은 내가 짐작컨대vim는 때때로 자신의 원인이 있을 것이다. 그러나 리슨은 이것에 대해 아무것도 모른다. -토론 #16
불행하게도 복구 프로그램은 여기서 작용하지 않는다. 나는 여전히 환영 창의 3가지 차이(vim 8.0, 패치 1-45)를 본다.:diffoff!
나한테 유용해, FWIW.감사합니다.토론 #17
@mMontu는 원래 게시물에 나와 있는 것과 동일한 절차를 따랐습니까?만약 다른 업무 흐름이 이 문제를 해결할 수 있다면 나도 놀라지 않을 것이다.토론 #18
@tpope는 확실히 내가 정확한 절차에 따라 하지 않았다.나는 오류를 복제하고 새로운 문제를 열기 위해 어떤 절차를 사용하는지 검사할 것이다.토론 #19
@tpope는 실제적으로 위의 절차를 따랐고 오류를 얻기 위해 다른 절차를 반복했을 뿐이라고 생각합니다.두 개의 비분류 수정 파일 F1 및 F2에서만 시작됩니다.토론 #20
@mMontu 나는 이 오류를 바로잡을 수 없다. 나에게 있어서 완전히 너의 절차에 따라 조작한 후에 차이는 예상한 것이다.토론 #21
@Corax26 정말 이상해요.나는 linux에서 테스트를 실행했는데 gvim은 GTK3로 구축되었다.나는 이것이 원인일 수 없다는 것을 알고 있지만, 아마도 우리는 다른 기능 집합을 사용하고 있을 것이다.VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Jan 27 2017 16:29:58)
Included patches: 1-45
Compiled by mMontu
Huge version with GTK3 GUI. Features included (+) or not (-):
+acl -ebcdic +listcmds +persistent_undo +textobjects
+arabic +emacs_tags +localmap +postscript +timers
+autocmd +eval -lua +printer +title
+balloon_eval +ex_extra +menu +profile +toolbar
+browse +extra_search +mksession +python/dyn +user_commands
++builtin_terms +farsi +modify_fname +python3/dyn +vertsplit
+byte_offset +file_in_path +mouse +quickfix +virtualedit
+channel +find_in_path +mouseshape +reltime +visual
+cindent +float +mouse_dec +rightleft +visualextra
+clientserver +folding +mouse_gpm +ruby +viminfo
+clipboard -footer -mouse_jsbterm +scrollbind +vreplace
+cmdline_compl +fork() +mouse_netterm +signs +wildignore
+cmdline_hist +gettext +mouse_sgr +smartindent +wildmenu
+cmdline_info -hangul_input -mouse_sysmouse +startuptime +windows
+comments +iconv +mouse_urxvt +statusline +writebackup
+conceal +insert_expand +mouse_xterm -sun_workshop +X11
+cryptv +job +multi_byte +syntax -xfontset
+cscope +jumplist +multi_lang +tag_binary +xim
+cursorbind +keymap -mzscheme +tag_old_static +xpm
+cursorshape +lambda +netbeans_intg -tag_any_white +xsmp_interact
+dialog_con_gui +langmap +num64 +tcl +xterm_clipboard
+diff +libcall +packages +termguicolors -xterm_save
+digraphs +linebreak +path_extra +terminfo
+dnd +lispindent +perl +termresponse
토론 #22
@mMontu는 이상하게도 GTK3로 gvim을 구축해 봤습니다.그러나 패치 수준이 낮아서 업데이트된 버전을 시도하고 싶을 수도 있습니다.VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Apr 26 2017 07:49:10)
Included patches: 1-586
Compiled by Arch Linux
Huge version with GTK3 GUI. Features included (+) or not (-):
+acl +clipboard +dialog_con_gui +file_in_path +job +lua/dyn +mouse_sgr +path_extra +rightleft +tag_old_static +user_commands +writebackup
+arabic +cmdline_compl +diff +find_in_path +jumplist +menu -mouse_sysmouse +perl/dyn +ruby/dyn -tag_any_white +vertsplit +X11
+autocmd +cmdline_hist +digraphs +float +keymap +mksession +mouse_urxvt +persistent_undo +scrollbind +tcl/dyn +virtualedit -xfontset
+balloon_eval +cmdline_info +dnd +folding +lambda +modify_fname +mouse_xterm +postscript +signs +termguicolors +visual +xim
+browse +comments -ebcdic -footer +langmap +mouse +multi_byte +printer +smartindent +terminfo +visualextra -xpm
++builtin_terms +conceal +emacs_tags +fork() +libcall +mouseshape +multi_lang +profile +startuptime +termresponse +viminfo +xsmp_interact
+byte_offset +cryptv +eval +gettext +linebreak +mouse_dec -mzscheme +python/dyn +statusline +textobjects +vreplace +xterm_clipboard
+channel +cscope +ex_extra -hangul_input +lispindent +mouse_gpm +netbeans_intg +python3/dyn -sun_workshop +timers +wildignore -xterm_save
+cindent +cursorbind +extra_search +iconv +listcmds -mouse_jsbterm +num64 +quickfix +syntax +title +wildmenu
+clientserver +cursorshape +farsi +insert_expand +localmap +mouse_netterm +packages +reltime +tag_binary +toolbar +windows
토론 #23
@Corax26 확실히 최신vim버전이 이 문제를 해결했습니다.감사합니다!토론 #24
@ammontu Cool, 8.0의 패치로 이 문제를 해결하게 되어 기쁩니다!Reference
이 문제에 관하여(Gstatus의 연속적인 차이가 혼동되었습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://github.com/tpope/vim-fugitive/issues/534텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)