Можно ли удалить спички вручную в режиме grep?

9

После запуска (grep)буфера grep появляется со спичками. Некоторые совпадения не актуальны, и было бы неплохо удалить их вручную. Таким образом, я могу использовать буфер grep для хранения только тех совпадений, которые имеют отношение к текущему расследованию.

Это возможно?

cammil
источник

Ответы:

10

Абсолютно. И это чрезвычайно полезно сделать. M-x flush-linesи M-x keep-linesваши друзья, а также просто C-kи т. д.

(Первое, что вам нужно сделать, это, конечно C-x C-q, сделать буфер доступным для записи.)


Если вы используете библиотеку Grep + ( grep+.el) , то у вас есть эти команды, которые раскомментировать строки и переключение такого удаления: grepp-remove-comments, grepp-toggle-comments, которые связаны в Grep буферов ;и M-;, соответственно.

(Grep + также дает вам команды, которые облегчают использование нескольких буферов grep: +( grepp-new-buffer), b( grepp-choose-buffer) и r( grepp-rename-buffer-to-last).)


Есть также и другие буферы , которые предназначены только для чтения по умолчанию и которые иногда могут быть полезны для использования , C-x C-qа затем редактировать их, в частности , (ИМХО), *Messages*, *Help*и *Colors*M-x list-colors-display). Информация используется даже есть команда , которая позволяет редактировать текущий узел.

К сожалению (ИМХО), Emacs вообще отошел от такого использования, усложняя его. Например, *Help*и *Messages*буферы теперь определяют ключи в их соответствующих режимах, что означает, что для их редактирования обычно необходимо либо (1) перейти в другой режим, либо (2) использовать, C-qчтобы иметь возможность вставлять определенные символы.

Нарисовалась
источник
1
Я пойду так далеко, что скажу, что этот ответ изменил мою жизнь.
Cammil
;-) ............
Дрю
0

Если вы злой пользователь, у вас может быть такая привязка, как zww 'read-only-modeэтот переключатель read-only-map. Отключить, read-only-modeа затем использовать evil-deleteстроку (т.е. dd). Конечно, это не приводит к автоматическому удалению всех строк, как flush-lines, однако, если вы хотите удалить весь регион без использования сложных регулярных выражений, то это ваш друг.

Yuki
источник
0

winnow.el предоставляет удобный небольшой второстепенный режим, разработанный для этой цели и предназначенный для использования в compilation-modeбуферах (или производных, в которые входит grep-mode).

Он разрешает привязки клавиш, эквивалентные flush-linesи keep-lines, и заботится о доступности текста только для чтения.

Key   Function
x     winnow-exclude-lines
m     winnow-match-lines
Phils
источник