grep 모드에서 일치 항목을 수동으로 제거 할 수 있습니까?


9

(grep)grep 버퍼를 실행 하면 일치하는 것으로 나타납니다. 일치하는 항목 중 일부는 관련이 없으므로 수동으로 제거하는 것이 좋습니다. 이 방법으로 grep 버퍼를 사용하여 현재 조사와 관련된 일치 항목 만 보유 할 수 있습니다.

이것이 가능한가?

답변:


10

물론. 그렇게하는 것이 매우 유용 합니다. M-x flush-linesM-x keep-lines친구뿐만 아니라 단지입니다 C-k

(먼저해야 할 일은 C-x C-q버퍼를 쓰기 가능하게 만드는 것입니다.)


당신이 라이브러리를 사용하는 경우 그렙 + ( grep+.el:) 당신은 제거 주석 행 및 제거 토글 이러한 명령,이 grepp-remove-comments, grepp-toggle-comments에 그렙 버퍼에 바인딩 ;하고 M-;각각을.

(Grep +는 +( grepp-new-buffer), b( grepp-choose-buffer) 및 r( grepp-rename-buffer-to-last) ) 여러 grep 버퍼를 쉽게 만들 수있는 명령도 제공합니다 .


다른 가끔 사용하는 것이 유용 할 수있는 기본 및있는 읽기 전용-하는 버퍼도 있습니다 C-x C-q특정 (IMHO)에서 다음 편집 그들,, *Messages*, *Help*, 및 *Colors*(에서 M-x list-colors-display). 정보는 사용 도 현재 노드를 편집 할 수 있습니다 명령을 할 수 있습니다.

불행하게도 (IMHO), Emacs는 일반적으로 그러한 사용에서 멀어지면서 더 어려워졌습니다. 예를 들어 *Help**Messages*버퍼 지금 편집에 일반적으로 다른 모드 나 (2) 사용에 하나 (1) 변화해야한다는 것을 의미 각각의 모드에서 키를 정의 된 C-q특정 문자를 삽입 할 수 있도록.


1
나는이 대답이 나의 삶을 변화 시켰다고 말할 것입니다.
cammil

;-) ............
Drew

0

당신이 악한 사용자라면, 당신은 zww 'read-only-mode토글 과 같은 바인딩을 가질 수 있습니다 read-only-map. 라인을 비활성화 read-only-mode한 다음 사용하십시오 evil-delete(예 :) dd. 물론 이것은와 같은 모든 줄을 자동으로 제거하지는 않지만 flush-lines복잡한 정규 표현식을 사용하지 않고 전체 영역을 제거하려면 이것이 친구입니다.


0

winnow.elcompilation-mode버퍼 ( 또는를 포함하는 파생물) 에 사용하기 위해 이러한 목적으로 설계된 편리한 작은 부 모드를 제공합니다 grep-mode.

키 바인딩을 및와 동일하게 flush-lines하고 keep-lines텍스트의 읽기 전용을 처리합니다.

Key   Function
x     winnow-exclude-lines
m     winnow-match-lines
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.