私は最近emacsに移動しましたが、数字が強調表示されるのに慣れています。ここから簡単にハックすると、次のようになります.emacs
。
(add-hook 'after-change-major-mode-hook
'(lambda () (font-lock-add-keywords
nil
'(("\\([0-9]+\\)"
1 font-lock-warning-face prepend)))))
これは良いスタートを与えます、すなわち、任意の数字が強調表示されます。ただし、私は正規表現の完全な初心者であり、理想的には次の動作を希望します。
- また、浮動小数点の一部である場合は小数点を強調表示します(例:12.34)。
- 次/単語の一部である場合は、数字のどの部分も強調表示しないでください。たとえば、次の場合:foo11 ba11r 11spam、「1」のいずれも強調表示しないでください
- 科学的記数法を許可するには、2つの整数内の「e」を許可します(必須ではありません、ボーナスクレジット)
残念ながら、これは私が投稿するのが嫌いな「私のためにこれを行う」質問に非常によく似ていますが、私はこれまでのところ、自分でまともな進歩を遂げることができませんでした。
私が得た限りでは[^a-zA-Z][0-9]+[^a-zA-Z]
、どちらかの側の文字以外のもの(たとえば等号)と一致することを発見していますが、これはすべて、強調表示に隣接する記号を含めることです。「どちらの側にも文字がない場合にのみ数字を強調表示する」ことを伝える方法がわかりません。
もちろん、正規表現が複雑な構文の強調表示を使用する方法であるとは想像できないので、emacsのアイデアで適切な数を強調表示することも歓迎します。
どんな助けでも大歓迎です。(違いが生じる場合は、Pythonコーディング時に使用します。)