vi 또는 Vim에서 일치하는 모든 행을 표시하거나 숨길 수 있습니까? 강조 표시하지 않고 해당 행만 표시하십시오.Vim에서 일치하는 모든 행 숨기기
예를 들어 단어가 ERROR
인 텍스트가 있습니다. ERROR
이 포함 된 줄만 표시하고 어떻게 줄을 표시하는 방법은 ERROR
이 아닌지 만 표시하려면 어떻게합니까?
을 삭제하지 않고 개의 일치하는 줄을 삭제하지 않고 그냥 실행 취소 하시겠습니까?
vi 또는 Vim에서 일치하는 모든 행을 표시하거나 숨길 수 있습니까? 강조 표시하지 않고 해당 행만 표시하십시오.Vim에서 일치하는 모든 행 숨기기
예를 들어 단어가 ERROR
인 텍스트가 있습니다. ERROR
이 포함 된 줄만 표시하고 어떻게 줄을 표시하는 방법은 ERROR
이 아닌지 만 표시하려면 어떻게합니까?
을 삭제하지 않고 개의 일치하는 줄을 삭제하지 않고 그냥 실행 취소 하시겠습니까?
당신을 수행가 :global
명령에 대해 알고 있습니까? 이게 당신이 원하는대로합니까?
:g/ERROR
과 반대에 대한
::g!/Error
또는 동등 :
:v/Error
이것은별로 좋지 않습니다. 맨 아래로 스크롤하면 명령이 완료되고 모든 것이 다시 표시됩니다. 그 내용을 숨기고있는 것은 아닙니다. –
당신은
:g/ERROR/
가 오류로 모든 라인을 인쇄하는 데 사용할 수있는
또한 내가 여러 번 보았지만 사용하지 않은 빔 플러그인이 : foldsearch : fold away lines that don't match a given pattern
foldsearch 플러그인에 대한 링크는 +1입니다. 눈에 거슬리지 않고 편리하게 사용할 수 있습니다. – user55400
+1 접이식 플러그인 용입니다. 생명의 은인! –
사용 사례에 따라 다른 접근하는 vimgrep 및 quickfix에서의 결과를 사용하는 것입니다. 다음을 수행 할 수 있습니다.
:vimgrep pattern %
현재 파일을 검색하고 첫 번째 검색 결과로 이동합니다. 더 중요한 것은 결과를 "퀵 픽스 목록"에 넣는 것입니다.
:copen
그러면 quickfix-list가 별도의 quickfix-window에서 열립니다. 따라서 마지막 vimgrep의 모든 행을 별도의 창에 표시합니다. quickfix-window에서 Enter를 누르거나 선을 두 번 클릭하여 원본 파일의 해당 줄로 이동할 수 있습니다.
:colder
을 사용하면 이전 quickfix 목록 (이전 vimgrep 결과)으로 돌아갈 수 있습니다. :cnewer
은 최신 검색 결과로 이동합니다.
:make
을 실행하면 quickfix 목록도 업데이트된다는 점에 유의하십시오 (오류 수정을 위해 quickfix가 호출되는 이유). 이 때문에 "위치 목록"이라는 퀵 픽스 목록을 대체 할 수도 있습니다. 대신 :lvimgrep
을 사용하려면 c 접두사가 붙은 명령 대신 l- 접두어가 붙은 명령 (:lopen
, :lolder
, :lnewer
)을 사용하십시오.
물론 많은 작업을 수행 할 수 있습니다. 자세한 내용은 :help quickfix
을 참조하십시오.
추신 : 행을 삭제 한 다음 실행을 취소하는 방식을 원하지 않는다고하셨습니다. 하지만 대답을 g/ERROR
으로 표시 한 이후로 나는 빨리 그리고 더러운 방법을 지적 할 것이라고 생각했습니다. g!/ERROR/d
. 그런 다음 u
을 사용하여 쉽게 되돌릴 수 있습니다. 참고로 을 사용하면 :g
명령과 일치하는 패턴을 강조 표시 할 수 있습니다.
": g!/ERROR/d"에 대한 팁을 수락 한 답변보다 잘 주셔서 감사합니다. – VinGarcia
vim &/pattern/ 에있는 명령은/pattern/(grep과 같이)이 포함 된 행을 표시합니다.
이 작업을 수행하는 가장 좋은 방법은 - 이것도>
:vimgrep /something/g % | copen
이 키워드에 대한 일치의 목록이 열립니다 또한 단지 quickfix 창에서 일치하는 라인을 표시합니다.
현재 파일을 고려하지 않을 경우 %를 파일 경로로 바꿉니다. – Shivendra
매우 유용합니다 !!!! 고맙습니다!!! – ihightower
http://vi.stackexchange.com/q/2280/12111 – graceman9