Vim에서 위치 목록과 Quickfix 목록의 차이점은 무엇입니까
다음은 빠른 수정 목록 및 위치 목록에 대한 문서에서 가져온 것입니다. 그러나 실제로 무엇이 다른지 잘 모르겠습니다. 아래 이미지는 위치 목록 및 빠른 수정 목록의 동일한 항목을 보여줍니다. vimgrep 및 lvimgrep에서 하나 또는 다른 것을 언제 사용합니까?
In Vim the quickfix commands are used more generally to find a list of positions
in files.For example, |:vimgrep| finds pattern matches. You can use the positions
in a script with the |getqflist()| function. Thus you can do a lot more than the
edit/compile/fix cycle!
...
...
*location-list* *E776*
A location list is similar to a quickfix list and contains a list of positions
in files. A location list is associated with a window and each window can have
a separate location list. A location list can be associated with only one window.
The location list is independent of the quickfix list.
...
최신 정보
These commands all fill a list with the results of their search. "grep" and
"vimgrep" fill the "quickfix list", which can be opened with :cw or :copen,
and is a list shared between ALL windows. "lgrep" and "lvimgrep" fill the
"location list," which is local to the current window, and can be opened
with :lw or :lopen. Both of these lists can be used to instantly jump to
the matching line in whatever file it occurs in.
따라서 차이점은 빠른 수정 목록의 모든 창과 위치 목록의 로컬 창입니다. 그러나 다른 창에서 위치 목록을 열 수 있습니다. 그렇다면 차이점은 무엇입니까 ??
위치 목록은 현재 창에 로컬이므로 창 수만큼 위치 목록을 가질 수 있습니다. 창 30 개? 얼마든지 요. 30 개의 동시 위치 목록이 있습니다.
빠른 수정 목록은 전역이므로 한 번에 둘 이상을 사용할 수 없습니다. 현재 빠른 수정 목록을 이전 목록으로 바꿀 수있는 명령이 있지만 두 개의 동시 빠른 수정 목록을 가질 수 없습니다.
위치 / 빠른 수정 "목록"(데이터 구조)을 위치 / 빠른 수정 "창"(해당 데이터 구조의 내용을 표시하는 창)과 혼동하지 마십시오. "창"의 동작은 비슷하지만 "목록"은 그렇지 않습니다. 고맙게도 해당 목록과 상호 작용하는 유일한 방법이 아니기 때문에 차이점이 중요합니다. 연결된 창 을 열지 않고도 목록을 이동할 수있는 많은 명령이 있으며 이러한 목록 간의 차이점을 아는 것이 이러한 명령을 효율적으로 사용하는 데 중요합니다. .
실습 예시 :
수행
:lvim foo %
에foo.txt
포함 된 윈도우의 위치 목록을 만들 수foo.txt
.수행
:lne
몇 가지에 점프에 몇 번foo
에서foo.txt
.집중
bar.txt
하고 수행하십시오:lne
. 무슨 일이야?이제
:lvim bar %
에서bar.txt
를 포함하는 창에 대한 위치 목록을 만듭니다bar.txt
.수행
:lne
몇 번. 어떤 경기로 점프합니까? 어떤 버퍼에 있습니까? 어느 창에서?다른 창으로 전환
:lne
하고 몇 번 수행하십시오. 무슨 일이야?로 다시 전환하십시오
bar.txt
. 무엇을:lne
합니까?이제 수행
:vim bar %
에bar.txt
quickfix 목록을 만들 수 있습니다.수행
:cn
몇 가지에 점프에 몇 번bar
에서bar.txt
.이제,
foo.txt
무엇을:cn
합니까?
이동하는 위치 :lne
는 현재있는 창에 따라 다르지만 이동하는 오류 :cn
는 항상 동일합니다 (현재 빠른 수정 목록을 다른 목록으로 바꿀 때까지).
두 목록 모두 상대적으로 명확한 역할 IMO를 가지고 있습니다. 빠른 수정 목록 (따라서 빠른 수정 창)은 일반적으로 논리적으로 오류에 전념하고 위치 목록은 검색에 적합합니다.
'code' 카테고리의 다른 글
미국 우편 번호를 시간대에 매핑 (0) | 2020.10.08 |
---|---|
Windows 7에 32 비트 및 64 비트 Java를 모두 설치할 수 있습니까? (0) | 2020.10.08 |
Zepto와 jQuery 2의 차이점은 무엇입니까? (0) | 2020.10.08 |
릴리스 모드 빌드에서 XML 문서 파일의 복사를 방지하는 방법은 무엇입니까? (0) | 2020.10.08 |
오버플로 : 숨겨진 부모 외부에 자식을 표시 (0) | 2020.10.08 |