Magit : 라인 내에 차이를 표시하는 방법


14

파일이 있는데 약간 변경했습니다. SmartGit이 어떻게 차이점을 보여 주는가?

smartgit

보시다시피 차이가 어디에 있는지 보여줍니다. 구체적인 위치에서 배경을 빨간색으로 바꿉니다. 그리고 아주 좋습니다. 차이점을 찾기 위해 시간을 소비 할 필요가 없습니다. 차이점이 어디 있는지 즉시 알 수 있습니다.

이제 Magit의 모습 :

여기에 이미지 설명을 입력하십시오

보시다시피 Magit은 그 차이가 전체 라인에 있다고 말합니다. 차이가 어디에 있는지 보여주지 않습니다. 그래서 수동으로 차이점이 어디에 있는지 찾아야합니다. 매번이 작업을 수행해야합니다. 비교가되지 않습니다. 20 줄에 차이가 있다고 가정하십시오. 실제로 변경된 내용을 찾으려면 많은 시간을 할애해야합니다. 그리 좋지 않습니다.

magit이 변경 사항이있는 실제 열에서 차이를 표시 할 수 있습니까? SmartGit에서와 같이.

답변:


3

나처럼 구성에 저장하려면 추가하십시오.

(setq magit-diff-refine-hunk (quote all))

너의 ~에게 .emacs.d/init.el


이것은 Phil의 답변 에서 영감을 얻었습니다 .


16

M-x customize-option RET magit-diff-refine-hunk RET

현재 버퍼에서 동작을 설정하는 데 사용할 수있는 magit-diff-toggle-refine-hunkbounded 명령 도 참조하십시오 Dt. 버퍼의 모든 덩어리에 DC-ut대한 세분화를 켜는 데 사용 합니다 . 그렇지 않으면 현재 선택된 덩어리에 대한 구체화 만 특정 시간에 표시됩니다 (덩어리 사이를 이동할 때 업데이트 됨).

은 diff, 사용의 '세련된'지역의 외관 구성하려면 M-x customize-face에 대한 diff-refine-added, diff-refine-changed그리고 diff-refine-removed얼굴을.


1

단어 차이가 작동하려면 magit이 diff실행 파일 을 사용할 수 있어야합니다 .

따라서 M-x ielm RET (executable-find "diff") RET반환하지 않는지 확인하십시오 nil. 그것이 반환되면 nildiff 실행 파일을 포함하는 폴더의 경로를 exec-path변수에 추가하십시오.M-x ielm RET (add-to-list 'exec-path "c:/Program Files/Git/usr/bin") RET

다음으로 magit이 실제로 해당 diff실행 파일을 사용하고 있는지 확인해야합니다 . 그것이 magit 상태 버퍼에 들어가려면, 그것을 누르고 비활성화되어 D있는지 확인하십시오 -x Disallow external diff drivers (--no-ext-diff). 그렇지 않으면으로 비활성화하고 -x기본값으로 설정 s한 다음을 사용하여 기본값을 저장하십시오 Dw.

이 작업이 완료되면 당신이 사용할 수있는 Dt토글하기 위해 magit-diff-refine-hunk이 현재의 버퍼 옵션을하거나 따라 답을 함으로써 PHILS 이 설정은 더 영구적으로.


0

시도 ediff-toggle-ignore-case또는 compare-ignore-case변수. 내 추측은 당신의 diff 엔진이 사건을 무시하고 있다는 것입니다. diff 옵션에있을 수도 있습니다 (설정이 무엇인지 잘 모르겠습니다).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.