개선된git 로그/차이 기능 요청
5724 단어 vim-fugitive
묘사
안녕하세요,우선, 이 멋진 플러그인 고마워요!
나는 그것이
gitk
처럼 git 트리를 훑어볼 수 있는 supazomggreattho가 부족하다는 것을 발견했다.나는 아주 간단한 것들을 생각했다. 예를 들어
:Gitk
, git log --graph --oneline --all
창에 :split
을 표시할 것이다.제출을 선택하면 제출한 수정 파일 목록을 포함하는 다른 창이 나타납니다.마지막으로 파일을 선택하면 vimdiff
창에 수정된 내용이 표시됩니다.대부분의
Gundo
플러그인을 해독할 수 있을 것 같습니다. 이 플러그인의 기능은 시간선을 따라 파일의 차이를 시각화하는 것과 같습니다.이 플러그인은 파일을 중심으로 하기 때문에, 간단한
:Ghistory
부터 시작할 수 있습니다. 이 플러그인은 이 파일과 관련된 제출 분할을 만들 것입니다. 이 플러그인 위로 이동할 때vimdiff를 아래에 표시합니다."이를 통해""해당 커밋으로 복원""등의 기능을 강화할 수 있습니다."당신의 생각을 말해 주세요:)
토론 #1
아,https://github.com/int3/vim-extradite나의 요구를 거의 만족시켰다.이 플러그인에 통합하는 것을 고려할 수 있습니까?너는 지금 이 문제를 끝낼 수 있다.
토론 #2
안녕,나는 무심결에 이 문제를 발견했고, 내 블로그에서 나의 일부 기능을 공유할 수 있다고 생각했다.vimrc.그들이 한 것이 바로 네가 기대한 것 같아서, 나를 위해'vim의gitk'역을 맡았다.현재 해커 같아서 유용하지만 다른 사람들이 흥미를 느끼면 (정리된 버전) 도주범에 넣을 수 있을까요?그렇지 않으면, 나는 나의 코드가 내가 연 두 개의 내부 탈출 함수를 사용했다고 생각한다.만약 네가 이렇게 도주범 자체를 하기를 원한다면, 나는 이것을 플러그인으로 도주범을 확장할 수 있다. 마치 인도하는 것과 같다.
그림은 천만 마디를 표현할 수 있는데, 다음은 나의'gitk for Vim'을 캡처한 것이다.http://www.gregsexton.org/images/gitk-vim.jpg
다음은 현재 기능에 대한 요약입니다.
- 로그와 최신 제출을 열고 새 탭으로 나누는 OpenGitK () 함수가 키 시퀀스에 연결되어 있습니다.
- 현재 전체 저장소 로그를 --graph로 표시하는 것을 볼 수 있습니다.현재 파일 정보만 표시하는 인도와는 다르다.나는 추가된 도형에 적응하기 위해 문법 하이라이트 디스플레이를 추가했다.
- 제출할 때 Return을 누르면 분할에서 사용됩니다: Gedit에서 제출을 열 수 있습니다.
-REF는 커밋과 함께 머리글, 태그 또는 원격에 따라 구문을 강조 표시하는 인라인 디스플레이도 제공합니다.
- u 키를 눌러 로그를 수동으로 업데이트합니다.
- "co"를 입력하면 제출을 빨리 서명할 수 있습니다.만약 이것이 머리나 탭이 가리키는 것이라면, 이것은 볼 내용을 알려 줍니다. 제출한sha나 인용 중 하나입니다.
- 로그 창에서:Git 명령을 실행하면 완료를 포함하여 탈주범처럼 명령을 실행하고 트리를 자동으로 업데이트하여 변경 사항을 볼 수 있습니다.
- 현재vim은 Fugitive에서 제공하는 기능을 제외하고는 차이를 쉽게 실행할 수 없습니다.이것은 나의 요구를 완전히 만족시켰기 때문에 나는 지금까지 그것을 확장하는 것을 고려한 적이 없다.관심 있으면 이것 좀 볼 수 있어요.
나에게 너의 생각을 알려주어라. 만약 네가 이것에 대해 흥미를 느낀다면.원하신다면, 패치나 요청 인출 형식으로 코드를 제공할 수 있습니다.
감사합니다,
그레그
토론 #셋
와, 멋있어 보여!나는 그것에 매우 흥미가 있기 때문에 네가 그것을 나눌 수 있다면 좋겠다.도주범의 내용에 대해 나는 평론할 수 없다. 왜냐하면 @tpope만 할 수 있기 때문이다. 지금까지 그는 이 문제에 대해 그다지 흥미를 느끼지 않는 것 같다.이와 함께 범죄인 인도 같은 도주범 연기는 무섭지만 보통foo라도 무섭다.vim와 당신의 함수/명령 2-3개면 충분합니다. 그리고 2단계에서 적절한 플러그인으로 보완합니다.
감사합니다,
필립
토론 #4
.이것은 보기에 매우 좋다.이것을 공유하십시오.:)토론 #5
인도가 시작되었을 때는 pull request I shot down in the short term이었다.결정을 내리기 전에, 나는 이 새로 제출한 서류를 고려해야 하지만, 나는 큰 희망을 품지 않을 것이다.만약 그것이 들어갈 수 없다면, 나는 당신이 필요로 하는 모든 API를 열어 그것을 플러그인으로 실현하기를 기꺼이 바란다.토론 #6
안녕하세요,우선 긍정적으로 평가해 주셔서 감사합니다.나는 반드시 모두를 위해 마음을 열 것이다.나의 계획은 현재 코드를 정리하고 내가 유용하다고 생각하는 한두 가지 기능을 추가하는 것이다.현재 내가'gitv'라고 부르는 것은 나에게 유효하지만 모든 사람에게 적용되지 않을 수 있는 대략적인 함수 몇 개다.빠른 시일 내에 테스트 버전을 내놓으려고 합니다.
짐: 인도는 처음에는 잡아당기는 부탁이었던 걸 본 적이 없어요.
This looks kind of cool, but also kind of hefty, and it's a bit of a divergence from the way Vim works (in the same way that, say, NERDTree is), so at this time I don't think it's a good candidate to be merged in.
이 추리를 바탕으로, 나는 당신이 나의 코드를 포함하고 싶지 않다고 가정하기 위해 최선을 다할 것입니다.나에게 있어서 그것을 독립된 플러그인으로 개발하는 것은 더욱 쉽다.내가 그것을github에 붙일 때, 나는 너에게 그것을 도주범에 포함시키고 싶다면, 너는 평론을 발표할 수 있다는 것을 알려줄 것이다.나는 이렇게 하는 것이 공평하다고 생각한다. 왜냐하면 그것은 확실히 너의 일을 대량으로 이용했기 때문이다.만약 가능한 상황에서 네가 흥미를 느끼지 않는다면, 나는 이미 그것을 플러그인으로 발표할 수 있다.나는 네가 동의하길 바라니?
현재 나는 어떤 내용을 개방해야 할지 확실하지 않다.아마도
s:GitComplete()
.하지만 오픈 API를 제안해 주셔서 감사합니다.감사합니다,
그레그
토론 #7
은 추출부터 시작하는 것이 좋은 방법이라고 생각합니다.예를 들어, 나는 처음에:Gbrowse
을 단독 플러그인으로 썼지만, 나중에 그것을 합병하기로 결정했다.플러그인 자체에 비해 추출/합병은 비교적 간단한 작업이어야 한다.만약 다른 것이 있다면, 당신은
s:Detect()
에 해당하는 공개 정보를 필요로 할 것이다. 그러면 당신은 자신의 버퍼링 구역에서 도주범을 활성화시킬 수 있을 것이다.그리고 당신은 :Git
을 받게 됩니다. 나머지는 모두 무료입니다.토론 #8
제가 방금 github에'gitv'를 발표했습니다.당신은 이곳에서 환매 협의를 찾을 수 있습니다.https://github.com/gregsexton/gitv.일단 내가 그것을 정리하고 추가 기능을 하기 시작하면, 그것은 약간 눈덩이가 된다.이제 기능이 모두 갖추어졌다.나는 너희들의 생각을 매우 듣고 싶다.특히 빈틈을 발견하거나 개선 제안이 있으면나는 도주범을 수정할 필요가 없이 그것을 일하게 하려고 했다.나는 또 많은 문서를 썼다.현재는 독립된 도주범 플러그인으로 확장할 수 있도록 완전히 포장되어 있다.팀: 동의하신다면 잠시 컨트롤하고 단독 플러그인으로 유지하고 싶습니다.만약 당신이 정말로 도주범에 이 모든 것을 포함하고 싶다면, 나에게 말해 주십시오. 나는 우리가 문제를 해결할 수 있을 것이라고 믿습니다.
나는 네가 gitv를 좋아하길 바란다.
감사합니다,
Greg
토론 #9
대충 봤는데 gitv가 장래성이 있어 보여요.일부 피드백으로서, 그것은 마치 직관적이지 않은 방식으로 자신의 크기를 조정한 것 같다.나는 일부 코드가 일이 너무 좁아질 때 수평분할로 전환되는 것을 보았지만, 나는 통상적으로 수평분할이 더 좋은 선택이 될 것이라고 생각한다.그러니까 gitk는 이렇게 하는 거 맞죠?나는 네가 지금 통제를 유지해야 한다는 것에 동의한다.
토론 #10
안녕하세요 Tim,당신의 피드백에 감사 드립니다.나는 최근에 창 크기에 대한 업데이트를 추가했다.이것들은 모두 전역 변수에 의해 제어된 것이다."수직, 그러나 일이 너무 좁아지면 수평으로 돌립니다."기본 설정은 수직입니다. 대부분의 사람들이 와이드스크린 모니터를 가지고 있다고 가정하지만, 이 점을 바꾸는 것을 고려할 수 있습니다.개인적으로 나는 30인치 모니터에서vim 전체 화면을 실행하기 때문에 수직으로 분할된다.
나는 또한 텍스트 포장과 제출 메시지의 차단을 제어하는 글로벌스를 추가했다.이것은 화면이 너무 넓어지는 것을 방지하는 데 도움이 된다.텍스트에 맞게 크기를 조정합니다.뭐가 부족해요?
고마워요.나는 너의 어떤 다른 생각이나 건의를 듣고 매우 기뻤다.
토론 #11
아, 좋아요. 왜 gitv가 수직분할을 하는지 물어보려고 하는데 수평분할을 원합니다.지금까지 이 플러그인은 보기에는 괜찮은 것 같지만, 나는 그것에 대해 전면적인 테스트를 진행할 수 없다.내가 진실한 세계를 테스트할 시간이 더 많을 때, 나는 너에게 그것에 대한 정보를 더 많이 알려줄 것이다.토론 #12
Gitv가 제 필요에 맞게 이걸 끄겠습니다.토론 #13
은 무의식중에 이 점을 발견하지 못하도록vim extradite는 도주범과 함께 훌륭하게 일할 수 있었지만gitv는 얼마 전 버림받았다.내가 보기에 vim-flog은 거대한 공백을 메웠다.그것은 도주범과 잘 결합되어 있다.Reference
이 문제에 관하여(개선된git 로그/차이 기능 요청), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://github.com/tpope/vim-fugitive/issues/52텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)