Gstatus의 연속적인 차이가 혼동되었습니다.

10320 단어 vim-fugitive

묘사

여보세요,
나는 에서 자주 이런 문제를 만났다고 생각한다. @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에서만 시작됩니다.
  • gvim-u NONE-u NONE-N-i NONE
  • : 출처~/.vim/bundle/vim 도주범/플러그인/도주범.vim
  • : e F3(F2의 동일한 폴더에 있음)
  • : 표 F2
  • 가스 터빈
  • :Gstatus
  • 918(457) F2에서
  • C-W t
  • F1
  • D
  • C-W t
  • L2
  • D
  • 토론 #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의 패치로 이 문제를 해결하게 되어 기쁩니다!

    좋은 웹페이지 즐겨찾기