Czy w trybie grep można ręcznie usuwać mecze?

9

Po uruchomieniu (grep)pojawia się bufor grep z dopasowaniami. Niektóre dopasowania nie są istotne i dobrze byłoby je usunąć ręcznie. W ten sposób mogę użyć bufora grep do przechowywania tylko tych dopasowań, które są istotne dla bieżącego dochodzenia.

czy to możliwe?

gramatyka
źródło

Odpowiedzi:

10

Absolutnie. I jest to niezwykle przydatne . M-x flush-linesi M-x keep-linessą twoimi przyjaciółmi, a także po prostu C-kitp.

(Pierwszą rzeczą, którą musisz zrobić, to oczywiście C-x C-quczynić bufor możliwym do zapisu.)


Jeśli używasz biblioteki Grep + ( grep+.el) wtedy masz te polecenia, które linie usuń komentarz i przełącznik takim wyprowadzeniu: grepp-remove-comments, grepp-toggle-comments, które są związane w buforach do grep ;i M-;odpowiednio.

(Grep + udostępnia również polecenia, które ułatwiają posiadanie wielu buforów grep: +( grepp-new-buffer), b( grepp-choose-buffer) i r( grepp-rename-buffer-to-last).)


Istnieją także inne bufory, które są tylko do odczytu domyślnie i który może być czasem przydatna w użyciu C-x C-q, a następnie edytować je, w szczególności (IMHO) *Messages*, *Help*i *Colors*(z M-x list-colors-display). Informacje wykorzystywane do nawet polecenie, które pozwala edytować bieżący węzeł.

Niestety (IMHO), Emacs zasadniczo zrezygnował z takiego użycia, co utrudnia. Na przykład, *Help*i *Messages*bufory teraz zdefiniowane klucze w swoich trybach, co oznacza, że aby edytować je normalnie trzeba albo (1) zmiany na inny tryb lub (2) Użyj C-qaby móc wstawić pewne znaki.

Rysował
źródło
1
Posunę się tak daleko, że stwierdzę, że ta odpowiedź zmieniła moje życie.
cammil
;-) ............
Drew
0

Jeśli jesteś złym użytkownikiem, możesz mieć powiązanie podobne do zww 'read-only-modetego read-only-map. Wyłącz, read-only-modea następnie użyj evil-deletewiersza (tj dd.). Oczywiście nie powoduje to automatycznego usunięcia wszystkich wierszy flush-lines, ale jeśli chcesz usunąć cały region bez użycia złożonych wyrażeń regularnych, to jest to twój przyjaciel.

Yuki
źródło
0

winnow.el zapewnia przydatny mały tryb pomocniczy zaprojektowany do tego właśnie celu, przeznaczony do użycia w compilation-modebuforach (lub pochodnych, w tym grep-mode).

Umożliwia przypisanie klawiszy równoważne flush-linesi keep-linesoraz dba o to, aby tekst był tylko do odczytu.

Key   Function
x     winnow-exclude-lines
m     winnow-match-lines
phils
źródło