도주범이 현지화git를 정확하게 사용할 수 없습니다
7502 단어 vim-fugitive
묘사
최신 버전의git(1.7.11.104.ge7b44f1)를 사용합니다. 독일어를 지원하고 제 언어가 de de로 설정되어 있기 때문에 모든git 메시지는 독일어입니다.이것은: Gstatus 창에서 파일의 대시 키를 누르면 임시 저장소에 추가하거나 삭제하는 기능을 혼동하는 것 같습니다.vim에 표시되는 오류는 다음과 같습니다.
"치명적: pathspec'ge andert: filename은 파일과 일치하지 않습니다."(오류는 사실 독일어입니다. 방금 번역했습니다)
따라서 'modified' 가 아니라 'ge andert' 이기 때문에 출력에서 파일 이름을 해석할 수 없을 것 같습니다.
나는 이것이 도주범의 문제인지 아닌지 확실하지 않다. 왜냐하면 git 출력의 색깔도 독일어에서 중단되기 때문이다. 이것은 내가 이해한 내장vim 기능의 일부분이다.git로 하여금 잠시 영어를 언어로 사용하게 할 것이다.
토론 #1
저도요maintain the syntax highlighting라고 먼저 말씀드리겠습니다. 그러니 이 점에 대해 질문을 해 주십시오.이것은 더 간단한 문제이지만, 그것의 경고가 없는 것은 아니다.이것은 매우 까다롭다.가장 뚜렷한 해결 방안은 독일어 번역을 코드에 난잡한 각종 조건에 포함시키는 것이지만 다른 언어에 대한 적용성은 매우 떨어진다.이상적인 해결 방안은 번역이 알 수 없는 계발을 찾는 것이다. 우리는 영어 글자의 뜻이 아니라 검사할 수 있다.다음은 우리가 필요로 하는 계발법과 내가 실현에 대한 생각이다.
-
renamed:
- 파일 이름 섹션에서 찾기->
.-
deleted:
--우리는 git add -A
만 할 수 있습니다git rm
.-
Changes to be committed:
- 아래 줄에서 찾기git reset
.-
Changes not staged for commit:
- 아래에서 git checkout
두 줄을 찾으세요.-
Untracked files:
--상기 두 항목 모두 없습니다.그래서 나의 첫 번째 문제는 내가 도대체 어떻게 Git에게 다른 언어를 사용하도록 강요해야 하는가 하는 것이다.나는 단지 시험해 볼 줄만 알았을 뿐이다
export LANG=de_DE.UTF-8
. 그러나 그것은 통하지 않는다.토론 #2
현재 나는 도주범 설정 중의git 실행 가능한 파일에 대해 같은 일을 했다.let g:fugitive_git_executable = 'LANG=en git'
그래서 현재git를 사용할 때 독일어를 사용하는데 정상이지만 영어에서git의 탈출 효과는 예상과 같다.내 생각은 어떤 식으로든 음성 출력을 무시하고 파일 이름만 주목하고 파일 이름을 통해 파일 상태를 얻는 것이지
git status
의 출력 위치가 아니라는 것이다.아마도
git status -s
의 출력을 해석할 수 있을 것이다. 언어에 독립하고 파일 상태에 대한 정보를 제공한 다음에 git status
의 출력에서 파일 이름을 찾아서 정확한 맵-
-키의 귀속을 찾아야 한다.또는
git status -s
의 출력만 :Gstatus
에 사용하지만, 이것은 당연히 가용성을 더욱 떨어뜨릴 수 있다.토론 #셋
파일 이름에서 상태를 가져오는 것은 좋지 않습니다. 왜냐하면 일부 파일은 임시 저장과 임시 저장이 없는 변경 사항을 동시에 가져올 수 있기 때문입니다.우리는 커서가 있는 구역을 알아야 한다.나는 대체로 충실한 해결 방안을 가지고 있다.만약 내가 복제할 수 없다면, 나는 실현할 수 없다.OS X 또는 Linux에서 Git를 다른 로켈로 전환하는 방법을 알 수 없습니다.
토론 #4
이거 소용 없어요?let g:fugitive_git_executable = 'LANG=de_DE.UTF-8 git'
설정LANG=en
은git가 기본적으로 영어로만 설정되는 것을 발견했기 때문에 LANG=de
해 보시면 작동하지 않을 것입니다.아마도 너는 너의 시스템에 언어 환경을 설치해야 할 것이다.토론 #5
없습니다.de_DE.UTF-8
는 핵심 UNIX 유틸리티에 적용되지만 Git에 대한 및 de
모두 실패했습니다.나는 확실히 설치할 물건이 있다고 가정하지만, 그것은 내가 APT. 토론 #6
로 얻을 수 있는 것이 아닌 것 같다. 더 정확히 말하면, 나는 네가 그것을 만들어야 한다고 생각한다.시험해 보다
localedef -i de_DE -f UTF-8 de_DE.UTF-8
이것이 바로 내가gentoo에서 한 방법이다.당신은 당신의 해결 방안을 묘사할 수 있습니까? 아니면 너무 복잡합니까?그렇게 지도 모른다, 아마, 아마...
토론 #7
주사위가 없어요.(이것이 데비안이 해준 것과 똑같다는 것을 확신합니다.)나의 계획은 나의 첫 번째 평론에서 개술되었다.나는 복제할 수 없는 모든 것에 대해 낙담할 때까지 두 번이나 진보했다.
토론 #8
블라인드를 통과했습니다.그것은 영어에 적용되며, 어떤 영어 라벨도 찾을 필요가 없다.나는 진일보한 테스트를 너에게 남겨 두겠다.토론 #9
방금 해봤어요.효과가 있는 것 같다.처음에 나는 여전히 부족한 문법에 신경을 많이 썼지만, 나중에 나는 이것이 또 다른 문제라는 것을 생각했다.다음은 내가 시도한 것이다.
- 열기: Gstatus on clean working copy->nothing special
- 열기: 추적 파일의 Gstatus를 변경합니다.
-
-key->works를 사용하여 변경 사항 시작 및 표시 취소- 열기: 추적되지 않은 새 파일의 Gstatus를 추가합니다.
-
-key->works를 사용하여 새 파일 시작 및 마운트 해제Gstatus는 또 무엇을 해야 합니까?만약 그렇지 않다면, 나는 이것이 테스트 8-
토론 #10
를 통해-
제목 단계를 누르거나 취소하는 단계라고 생각할 것이다. 전체 부분이다.D
파일이나 섹션의vimdiff를 열어야 합니다.그 밖에 가장 주의해야 할 것은 커서가 -
이후에 합리적인 위치로 넘어간다는 것이다.만약 무슨 문제가 있으면 영문 판본을 대조해라.토론 #11
-
를 누르면 등급을 나누거나 취소할 수 있습니다.new files 헤더
-
를 누르면 모든 내용(그리고 방금 수정한 파일)을 파일에 넣을 수 있습니다.이것은 예상한 것입니까 아니면 새로운 문제입니까?D가'Untracked'제목에서 여는 차이는'Changes not staged'에서 여는 것과 같다.그래서 문제가 다시 생겼다. 이것은 예상한 문제인가, 아니면 새로운 문제인가.
토론 #12
예상대로.이 두 가지 행위 모두 좋은 선택이 없다.전자에 대해 이상적인 행동은 모든 내장 파일을 백엔드에 두는 것이어야 한다고 생각하지만Git에는 이 방면의 명령이 없기 때문에 수동으로 조작하는 것은 가치가 없다고 생각한다.나는 동의한다. 나는 단지 분명하게 말하고 싶을 뿐이다.토론 #13
zh CN에는 적용되지 않으며 모든 CJK 환경일 수 있습니다...나는 소스 코드를 검사할 때까지
토론 #14
키를 어떻게 작동하는지 아는 데 거의 한 시간이 걸렸다.(
-
$에 -
비추었기 때문에, 비추기, autocmd 등을 시도했습니다.)기본값으로
let g:fugitive_git_executable = 'LANG=en git'
하거나, 자술한 파일 토론 #15
@aptx4869에 넣을 수 있을 것 같습니다. 캡처해 주시겠습니까?나는 차라리 그것을 고치고 싶다.토론 #16
네, 다음은 그 모양입니다. (zh CN과 en US만 설치했기 때문에 다른 지역을 테스트할 수 없습니다):나는 도주범이 '삭제됨' 이나 '수정됨' 으로 시작하는 줄을 찾고 있다는 것을 알아차렸는데, 이것은 모든 지역에서 정확하지 않을 수도 있다
나는 어떻게 건조한 방식으로 그것을 수리해야 할지 모르겠다.
이게 바로 제가 FAQ에 넣어서 알려드리자고 제안한 이유입니다.
죄송합니다. 제가 영어를 못해서...
토론 #17
보기에 주요 문제는 서로 다른 사칭 문자이다.U+FF1A 와일드콜과 일치하도록 여러 모드를 바꿨는데 모든 것이 정상인 것 같습니다.토론 #18
스페인어가 여전히 불합격인 것 같아서 죄송합니다.나는 방금let g:fugitive_git_executable = 'LANG=en git'
해결 방안을 시도했는데 결과:Gstatus
가 정상적으로 작동했다.토론 #19
그것은 스페인어에서 어떤 모양입니까?2013년 5월 24일 금요일 오후 3시 10분, 페드리코 판니코
[email protected]:
첫 번째 서류는 제출할 준비가 되어 있다.
두 번째 경기는 이미 수정되었지만 아직 상연되지 않았다.
세 번째는 추적되지 않았습니다.
세 번째만 추가할 수 있음
토론 #20
-
Git 구성에서 상태 힌트를 사용할 수 없습니다. 이것은 국제 지원의 중점입니다.만약 이런 것이 없다면, 나는 모든 언어에 대한 하드코딩 지원을 제외하고는 할 수 없다.토론 #21
힌트를 사용했지만 성공하지 못했다고 생각합니다.마지막 줄에 주석이 표시되지 않습니다. 만약 이것이 무슨 관계가 있다면.
토론 #22
나는 방금 해결 방법을 시도해 봤는데, 매우 효과적인 것 같다. 이것을 너에게 추가하는 것이다.vimrc:let g:fugitive_git_executable = 'LANG=en_US.UTF8 git'
이것은git를 영어 모드로 운행하도록 강요할 것이다.토론 #23
내가토론 #24
명령을 사용하자마자 이 변통 방법은 중단되었다.이후Gwrite
의 출력이 다시 내 시스템 영역 설정에 나타났다.my에서 설정
Gstatus
.zshrc도 도움이 안 돼요.같은 질문 있으신 분?alias git='LANG=en_US git'
토론 #25
이후g:fugitive_git_executable
에 복원하시겠습니까?:Gwrite
아니요, 똑같아요. 랑토론 #26
까지 포함해서 좋아요. 그래서 범인을 찾았어요.vim-signify 플러그인이 이런 행위를 야기한 것 같다.나는 돌아와서 도착 보고를 할 것이다.감사합니다!
토론 #27
Signify가git 명령을 하드코딩했기 때문에 현재 호환되지 않는 것 같습니다.지금 gitgutter로 전환하면 천의무봉인 것 같습니다.Reference
이 문제에 관하여(도주범이 현지화git를 정확하게 사용할 수 없습니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://github.com/tpope/vim-fugitive/issues/228텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)