특징: Glog 커서 위치
묘사
:cnext
를 사용할 때 커서가 꼭대기로 돌아오는 것이 나를 매우 화나게 한다.특히 큰 파일에 대해 나는 두 함수 간의 차이를 보려고 했다.업데이트/이전 버전의 로그 파일로 변경할 때 커서를 제자리에 두는 방법이 있습니까?
토론 #1
이것은 네가 말한'원위치 유지'가 무슨 뜻인지에 달려 있다.만약 우리가:cnext
인터페이스를 계속 사용한다면, 우리는 처음으로 빠른 복구 목록을 채울 때 어느 줄 번호로 이동할지 결정해야 한다.만약 당신이 단지'나는 17줄부터 시작하니까 이 파일의 모든 버전의 17줄로 데려다 주세요'라고 말하고 싶을 뿐이라면, 나는 즉시 조립할 수 있습니다.만약 당신이 이 특정한 노선을 따라 역사를 통과한다고 말하고 싶다면, 그것은
git blame
보다 git log
비슷한 조작이다.실제로 당신은 :Gblame
로 이 점을 실현할 수 있지만, 이것은 약간 지루하다. :Gblame
, 그리고 i
, 그리고 선이 어디로 이동하는지 찾은 다음<CR>
, 그리고 반복한다.이 과정을 어떻게 간소화하는지 알고 싶습니다. (아마도 git blame --porcelain
혹은 무엇이 우리에게 필요한 정보를 주었습니까?)만약 당신이 신기한 '이전 버퍼 위치로 이동' 동작을 찾고 있다면,
:cnext
대체 방법을 사용해야 합니다.나는 이 생각에 대해 결코 특별히 흥미를 느끼지 않는다.우선: 명절 잘 보내세요!It depends what you mean by "stay in position". If we're sticking to :cnext as the interface, we need to decide what line number to jump to when we first populate the quick fix list. If you simply wanted to say "I'm starting on line 17, so take me to line 17 of each version of this file", I could rig that up in a jiffy.
나는 이것이 우리 대다수의 기대라고 생각한다. 우리가 500줄로 아래로 굴러간 다음에 운행할 때
토론 #2
, 만약 우리가 간단한 방법을 실현할 수 있다면, "내가 시작한 곳을 유지해라."라고 나는 이것이 충분할 것이라고 생각한다.If you instead wanted to say, "follow this particular line through history," that's an operation more akin to git blame than git log. You can actually achieve this with :Gblame, but it's a bit tedious: :Gblame, then i, then find wheere the line moved to, then
, and repeat. I'd be interested in ways to streamline this (maybe git blame --porcelain or something gives us the info we need?)
이 절차는 사실 매우 좋고, 좀 무미건조하지만, 매우 좋다.만약 우리가 이 절차를 더욱 쉽게 한다면, 우리는 틀림없이 그것을 더욱 유용하고 뚜렷하게 할 수 있을 것이다.
만약 우리가 이 두 가지 일을 동시에 한다면 많은 사람들의 생활을 개선시킬 것이다.
:Glog
나는 또 《도주범》의 이 기능을 보고 싶다.아주 간단한 방법은 우리가 탈출 버퍼를 떠나기 전에 커서 줄을 기억하고 돌아올 때 복구하는 것이다.
au! BufLeave fugitive://* let g:cursor=line(".")
au! BufEnter fugitive://* exec g:cursor
및 토론 #셋
는 Glog의 시작 위치로 초기화되어야 합니다.그러나 나는 모든 가능한 상황과 다른 도주범 특징과의 잠재적인 충돌을 처리하기 위해서는 더 많은 세부 사항이 필요하다고 믿는다.물론 더 좋은 방법은 절대적인 줄 번호가 아니라 버전을 뛰어넘어 상응하는 줄로 넘어가는 것이다.어떤 경우, 우리가 역사를 훑어볼 때, 최근의 변화로 넘어가는 것이 더 의미가 있을 수도 있다.
g:cursor
+1토론 #4
저는 사실 이 확실한 문제를 찾고 있습니다.같은 줄로만 뛰는 것도 유용하고 상하문이 민감하게 뛰는 것도 유용하지만 가능할지 모르겠다.현재의 형식: 글로그는 좀 서투르다.전 세계 표기 (예: mA) 를 사용하는 것은 효과가 있는 것 같지만, 수동 조작은 당연히 좀 서투르다.해봤어요.
noremap
noremap
그러나 어떤 이유로 작용하지 않는다.
편집자만약 내가 그것들을alt-n과alt-p에 비추면 그것들은 작용할 것이다.네.
편집이 문제는 나의 시사와 관련이 있지만, 실제로는 이 생각이 작용하지 않아서, 표기를 되돌려 제출한다.
토론 #5
이것은 내가 줄곧 사용해 온 아주 좋은 간단한 해결 방안이다.noremap:let line=line('.'):cn:exec':'.라인
noremap:let line=line('.'):cp:exec':'.라인
이것은 역사 기록에서 '의미상' 한 줄을 따르지 않지만, 파일 역사 기록에서 이동할 때 편집기를 같은 절대 줄에 유지합니다.나에게 있어서, 이것은 매번 전환할 때마다 첫 줄로 리셋하는 것보다 낫다.
토론 #6
#507에 주목하여 이 분야의 진일보한 개선을 이해한다.토론 #7
커서는 다음/이전 버전으로 전환할 때 여전히 첫 번째 줄에 있습니다.:/특정한 설정이나vim버전이 있어야만 작업을 할 수 있습니까?토론 #8
아니요. 빠른 복구 목록에서 줄 번호를 보셨어요?토론 #9
신속 복구 목록은 다음과 같습니다.fugitive:///some/path/.git//fa27d5a29ea2c22ab7774d831ade24fdf832b0c3/vimrc.dotfile|| 의견
...
vim 외부:
fugitive:///some/path/.git//fa27d5a29ea2c22ab7774d831ade24fdf832b0c3/vimrc.dotfile::comment
...
나는 그곳의 줄 번호가 없어졌다고 추측한다.
저는vim7.4를 사용합니다. 저의vimrc는 여기에 있습니다.https://github.com/sblask/dotfiles/blob/master/vimrc.dotfile혹시 모르니까
토론 #10
전화번호나 범위를 걸어야 합니다.당신의 뜻은 이렇습니까?이것은 나에게 하나를 주었다.
토론 #11
:Glog
는 아마도 오래된 Git일 것이다.나는 판본의 요구가 대략 1.8.5 정도라고 생각한다.토론 #12
좋아요. Git의 새 버전이 복원됐어요. 저는 1.8.3이 더 있어요.감사합니다!Reference
이 문제에 관하여(특징: Glog 커서 위치), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://github.com/tpope/vim-fugitive/issues/286텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)