요청한 디렉토리 컨텍스트에서 s:open quickfix 호출
묘사
이것은 호출 컴파일러의 위치와 관련된 경로를 생성합니다.이 옵션이 없으면quickfix 창에서 사용합니다
현재 창,
:FocusDispatch
등 토론 #1
을 사용할 때 보통 그렇지 않습니다.finally 자구의 복구 코드 오류를 초래할 수 있습니다.빠른 복구 창에서 실행합니다.
2016년 9월 15일 목요일 오후 2:56 다니엘 할러[email protected]
쓰기:
This makes the paths relative to where the compiler was invoked from. Without this, the quickfix window will use the working dir from the
현재 창, 사용 시 보통 이렇지 않습니다:FocusDispatch 등.
You can view, comment on, or merge this pull request online at:
https://github.com/tpope/vim-dispatch/pull/187 Commit Summary - Call s:open_quickfix in the context of the request's dir
File Changes - M autoload/dispatch.vim https://github.com/tpope/vim-dispatch/pull/187/files#diff-0 (2)
Patch Links: - https://github.com/tpope/vim-dispatch/pull/187.patch - https://github.com/tpope/vim-dispatch/pull/187.diff
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/tpope/vim-dispatch/pull/187, or mute the thread https://github.com/notifications/unsubscribe-auth/AAABeqIfK4DxFEe7Rm77na1n9qLx2Zwpks5qqZTegaJpZM4J-OOO .
토론 #2
다른try
/finally
용cd
은?토론 #셋
두 번째try
/finally
를 s:open_quickfix()
에 넣고 싶어요?quickfix 창이 집중되어 있는지 확인해야 합니다. 복잡성을 증가시킬 것입니다.토론 #4
@tpope너는 이 일이 어떻다고 생각하니?(네 댓글을 보기 전에 이미 밀었어)
같은 구역에서:
:Copen!
을 사용했는지 알았으면 좋겠지만, 버퍼 로컬 변수를 설정하면 :colder
와 일치하게 됩니다.이 가능하다, ~할 수 있다,...https://github.com/tpope/vim-dispatch/pull/186반대로
토론 #5
나는 이제 더 믿을 수 있는 방법으로quickfix 창을 처리할 수 있다.Vim의 새 창 id 기능과 qf 목록을 조회하는 방법:
try
let qfinfo = getqflist({'winid': 1})
let winnr = qfinfo['winid']
catch /^Vim\%((\a\+)\)\=:E118/
echom "Checking" winnr('$') "windows"
for winnr in range(1, winnr('$'))
if getwinvar(winnr, '&buftype') ==# 'quickfix'
if len(getloclist(winnr))
" This is a location list (or a qf list with a location list
" (unlikely)).
continue
endif
break
endif
endfor
endtry
한동안 이 PR과 #186의 조합을 사용해 왔습니다.만약 내가 새로운 관계 등
토론 #6
에 합병해야 한다면, 나는 그것을 다른 방식으로 할 것이다.haslocaldir()
가 가짜일 때 무슨 일이 일어날까요?아무리 많은 재배열s:cgetfile()
도quickfix에서 lcd
오류를 일으키지 않습니다.s:open_quickfix
에서 이 문제를 해결해야 합니다.나는 지금 나의 패치를
quickfix-cd
지점으로 밀고 있다.그것은 나의 걱정을 해결했지만, 아마도 다른 문제가 있을 것이다.한번 해보고 보고하세요.토론 #7
:Copen!
검사에 관해서는 &l:efm
를 설정해서 이 점을 반영해야 할지도 모른다.그것도 같은 :colder
문제가 있지만, 나는 어떤 방법도 해결할 수 있다고 생각하지 않는다.토론 #8
내가 부주의로 마스터를 밀어서 닫았지만 피드백 의견을 구하는 것은 여전히 적용된다.토론 #9
605631c가 있으면 상관없는 (예: 위치 목록) 창으로 들어갈 수 있습니다 (https://github.com/tpope/vim-dispatch/pull/187#issuecomment-250146635).리
:Colder!
버퍼 부분 변수를 더 좋아하지만 &l:efm
어쨌든 의미가 있다(만약 그것이 아직 완성되지 않았다면?!).getqflist({'all': 1}).nr
는 여기에서 유용할 것 같습니다. :Colder!
를 사용하면 버퍼 로컬 변수를 이 숫자로 설정할 수 있습니다.그것은 가장 가까운 Vim이 필요하지만, 그런대로 괜찮은 것 같다.토론 #10
위치 창에서의 통화가 좋습니다.너의 패치를 이식해라.관례에 따르면, 만약 당신이 나로 하여금 새로운 변수를 받아들이게 하려면, 당신은 반드시 아주 아주 좋은 이유를 제기해야 한다.솔직히 말해서, 내가 잘못된 형식에서 박리하기 시작한
:Copen!
이후로, 설령 %-G%.%#
하더라도 좀 쓸데없는 것 같다.나는 그 구멍을 더 깊이 파고 싶지 않다.getqflist({'all': 1}).nr
를 사용하는 것이 다른 변수를 사용하는 것보다 훨씬 낫다.우리는 어떤 스케줄링 요청이 어떤 빠른 복구 목록에 대응하는지 추적할 수 있으며, 목록이 바뀔 때마다 변수를 자동으로 업데이트할 수 있습니다.실험을 하세요. 뒤로 호환성을 기억하세요.토론 #11
나쁜 소식:getqflist({'all': 1}).nr
영구 표식이 아닙니다.그것은 항상 1에서 10 사이에 있다.좋은 소식:
.title
효과가 있을 수 있습니다.
Reference
이 문제에 관하여(요청한 디렉토리 컨텍스트에서 s:open quickfix 호출), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://github.com/tpope/vim-dispatch/issues/187텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)