В Полночь Командующий переходит к меню параметров / Конфигурация... управляет / Использование внутренний флажок редактирования и сняла флажок с ним. (Не забывайте выполнять команду установки Сохранения, если Автоматическая опция настройки сохранения выключена.)
Затем установите EDITOR
переменная среды для Сублимации. Можно предпочесть добавлять один из них к файлу ресурсов оболочки:
Глобальная установка для всех программ то использование EDITOR
(не рекомендуемый):
EDITOR=sublime
export EDITOR
Временная установка для данного Полуночного Командующего сессия только:
alias mc='EDITOR=sublime mc'
То же для средства просмотра, просто Вы сняли флажок с Использованием внутренняя опция представления и устанавливаете VIEWER
переменная среды вместо этого.
Именно поэтому --color
по умолчанию имеет значение --color=auto
, а не --color=always
.
Если ваша цель - "Показать мне все строки, которые содержат оба символа A
и m
и выделить соответствующие A
и m
", то кажется, что простейшим решением было бы сделать всю подсветку после всех совпадений, используя один пример, чтобы добавить подсветку обратно. Что-то вроде:
{
echo "A b";
echo "A m";
echo "B m";
echo "Another m";
} | grep 'A' | grep 'm' | egrep --color 'A|m';
Не используйте grep --color=всегда
, именно поэтому в GNU grep
(а может быть и в других) также есть grep --color=авто
, что эквивалентно grep --color
только (от man grep
):
--color[=WHEN], --colour[=WHEN]
Surround the matched (non-empty) strings, matching lines,
context lines, file names, line numbers, byte offsets, and
separators (for fields and groups of context lines) with escape
sequences to display them in color on the terminal. The colors
are defined by the environment variable GREP_COLORS. The
deprecated environment variable GREP_COLOR is still supported,
but its setting does not have priority. WHEN is never, always,
or auto.
Я не могу найти, где это задокументировано более подробно, но в основном определяет, является ли вывод grep
файлом, или терминалом, или трубой, или чем-то еще и действует соответствующим образом:
$ echo foo | grep --color=always o | grep m
f[01;31mo[m[01;31mo[m
$ echo foo | grep --color=always o >outfile; grep m outfile
f[01;31mo[m[01;31mo[m
Сравните вышеизложенное с
$ echo foo | grep --color o >outfile; grep m outfile
$ echo foo | grep --color o | grep m
$
Таким образом, используя опцию auto
, в основном, вы сможете распечатать цвета только тогда, когда вы их видите. Это действительно очень умно и работает как очарование. Настолько, что у меня есть:
$ type grep
grep is aliased to `grep --color'
Каков реальный случай использования? Если вы хотите раскрасить код A
во всех строках, которые также содержат m
, вы можете просто перевернуть grep
s:
echo A B C | grep m | grep --color=always A
Или, если вы ищете буквальный m
в оригинальном выводе, вам нужно исключить все коды цвета до grep m
, но распечатать результат с помощью цветовых кодов. Один из способов сделать это - использовать nl
для нумерации строк вывода, grep
для номера строки, за которым следует m
, сохранить только номера строк из этого вывода, а затем использовать sed -n
для вывода только строк с цветовой кодировкой.