簡単に見出しやメールの引用部分を見やすく自動で色つける方法-xyzzy

ファイル名: -

正規表現による色つけのサンプルを紹介。

 

はじめにxyzzy_regexp_keyword

xyzzyそのままの設定ですと、白黒です。キーワードもひとつひとつ設定するのは大変です。

そこで柔軟な パターンメタ的な設定として正規表現でカラーを付けることができます。

モードごとのキーワードの他に、独自にキーワードを設定出来ます。 特に正規表現だといろいろ見やすいです。

使用例

  • 見出しの "◆タイトル "  , " ☆ほげほげ "   などに色を付ける
  • -------------------------,===================など区切り線に色を付ける
  • >> 引用文  など引用記号の文に色を付ける。

使用の具体例は右の図を見てください。

デメリットは、見やすくなり過ぎて、他の人に見せるときに白黒だということを忘れて、整形しないままにしてしまうことですね。。。

 

 

設定例

(setq regexp-keyword-list
        (compile-regexp-keyword-list
         '(
           ;区切り線------
           ("^[ \t ][-=ー-=─*+#]\\\{3,\\\}" t (:color 5 1 :line :bold) t)
           ;文字列
           ;("\\s\"[^\"\"]*\\\(\\\\\\\|[^\\]?\\\)\\s\"" t (:color 10 2) t)
           ;コメント
           ("\\s<.*\\s>" t (:color 15) t)
           ;テキスト見出し
           ("^[ \t]*[●◆■▲▼]" t (:color 2 4 :line :bold) t)
           ("^\\\([ \t ]*\\\)\\\([○◎◇□△▽★☆].*\n\\\)" t (:color 1 7 :underline :bold) t 2)
           ("^\\\([ \t ]*\\\)\\\([-・※→⇒∴∵].*\n\\\)" t (:color 0 7 :bold) t 2)
           ;アイテマイズ見出し sub :  111. xxxxxx  のようなもの
           ("^\\\([ \t ]*\\\)\\\([0-9]\\\{1,5\\\}[][\/ .. \t/#$!%&^~|\\+*]+[^0-9\n]+\n\\\)" t (:color 3 7 :underline ) t 2)
           ;アイテマイズ見出し sub :  a-11. xxxxxx  のようなもの
           ("^\\\([ \t ]*\\\)\\\((?[a-zA-Z]\\\{1,2\\\}-?[0-9]\\\{,5\\\})?[][\- .. \t/#$!%&^()~|\\+*]+.*\\\)$" t (:color 4 7 :underline ) t  2 )
           ;アイテマイズ見出し sub : mailの引用符  > > > xxxxx のようなもの
           ("^\\\([ \t ]*[|>#:|#>※]\\\)\\\{4\\\}[ \t ]?.*$" t (:color 4 7 :line ) t)
           ("^\\\([ \t ]*[|>#:|#>※]\\\)\\\{3\\\}[ \t ]?.*$" t (:color 3 7 :line ) t)
           ("^\\\([ \t ]*[|>#:|#>※]\\\)\\\{2\\\}[ \t ]?.*$" t (:color 2 7 :line ) t)
           ("^[ \t ]*[|>#:|#>※][ \t ]?.*$" t (:color 1 7 :line ) t)

           ;mailto
           ("\\\(mailto:\\\)?[a-zA-Z0-9_!#\$\%&'*+/=\^^`{}~|\-]+\\\(\.[a-zA-Z0-9_!#\$\%&'*+/=\^^`{}~|\-]+\\\)*@[a-zA-Z0-9_!.#\$\%&'*+/=\^^`{}~|\-]+" t (:color 5 7 :bold :underline ) t)
           ;http
           ("\\\(http\\\|https\\\|ftp\\\|ttp\\\)://[-a-zA-Z0-9_/~.@?&=;+(),'$!*:#%|]+" t (:color 4 7 :bold :line ) t)
           ("file:\\\(//\\\)?\\\([a-zA-Z]:\\\)\\\([/\\][^\\/:;,*?<>\|\n\r]+\\\)*[^\\/:;,*?<>\|\r\n]+" t (:color 2 7 :bold :underline ) t)

)))
Delicious にシェア
Digg にシェア
reddit にシェア
LinkedIn にシェア
LINEで送る
email this
Pocket

1,729 views.



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です