Настройка emacs для уменьшения или уменьшения выделения строки в коде - PullRequest
4 голосов
/ 06 июля 2010

Я интенсивно программирую на Python, и вместо использования модных отладчиков я просто использую множество операторов print, чтобы выяснить, что делает моя программа.Я настроил его так, чтобы типичная функция выглядела следующим образом:

def do_something(*args, **kwargs):
    verbose = True
    verbose and print("Entered do_something with args: {0} and kwargs: {1}".format(args, kwargs))
    for a in args:
        verbose and print("Looping with {0}".format(a))
        ...

Идея состоит в том, что, поскольку все мои «операторы отладки» находятся в одной строке, вычистить их достаточно легко, если / когдавремя приходитКроме того, логика позволяет мне включать и выключать определенные операторы отладки для каждой функции, позволяя мне настраивать то, что я хочу видеть на консоли.

В любом случае меня раздражает то, что они загромождают место.Я хочу сосредоточиться больше на реальном коде, чем на моих операторах отладчика при просмотре.Следовательно, мне интересно, способен ли emacs выполнять какие-то макросы, которые говорят:

"Изменить цвет шрифта любой строки, которая начинается с" verbose ", на серый" С предупреждением, которое "начинается с" здесь действительноозначает «после игнорирования начального пробела».

Так возможно ли «выделить» эти подробные утверждения?Или, может быть, макрос, который заполняет, скрывает такие однострочные?

Я новичок в emacs, так что будьте откровенны :) Я использую Aquamacs в Mac OS X 10.6, если это что-то меняет.

Ответы [ 2 ]

3 голосов
/ 06 июля 2010

Я считаю, что hi-lock-mode сделает то, что вам нужно - он позволит вам выделить строки текста с определенным лицом. Документация здесь:

http://www.gnu.org/software/emacs/manual/html_node/emacs/Highlight-Interactively.html

В принципе, как только вы включите режим hi-lock-mode (например, Mx global-hi-lock-mode ), вы сможете использовать cx wl verbose для выделите его, где facename - это лицо (шрифт / цвет / и т. д.), которое вы хотите использовать, чтобы выделить это. Вы должны создать лицо, чтобы сделать это. Возможно, hi-lock имеет грань по умолчанию, которая может работать (M-n, чтобы пройти через них после первого ).

Однако я не уверен, как (или если) режимы hi-lock-mode и font-lock работают вместе - возможно, это не сработает для выделенного исходного файла, и у меня нет копия emacs на этом компьютере, чтобы определить, работает ли это, и я вообще не использую Aquamacs, но это должно, по крайней мере, дать вам кое-что попробовать.

3 голосов
/ 06 июля 2010

Читайте о highlight-lines-matching-regexp в справке.Если вы выберете правильное лицо, это будет делать то, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...