[Mac]CotEditorアプリでプレインテキスト(Plain Text)にカラー(シンタックスハイライト)を設定する方法

こんにちは。
BIG1等を当てたいサラリーマンです。

高機能エディタのCotEditorのエントリーです。

coteditor1

シンタックスハイライトの機能があるのですが、プレインテキスト(Plain text)いわゆるテキストファイルにはカラーリングされません。
テキストのドキュメントを作成したり、文章の下書きを書いたりと結構な頻度でテキストファイルを使います。

しかし、日頃からシンタックスハイライトに慣れていると色気がないと、なんだか寂しい感じがします。
そこで、プレインテキストにも自分ごのみにカラーリングしたので手順を紹介します。

また、アウトライン表示させれば更に便利なので併せて紹介します。

カラリング設定

まずはカラーリングしたいキーになる文字を決めます。
僕の場合は、以下の様に決めました。

キー記号 用途
! 大項目
中項目
# 小項目
 1: 見出し1
 * 見出し2
/* */ コメント
+—–+ 区切り線

1:と、*には半角スペース2つを前につけてます。

続いてカラーリングファイルを作成します。
メニューバー > CotEditor > 環境設定 > フォーマットのダイアログを開きます。
インストール済みスタイルで、Plain Textを選択し歯車アイコンから書き出しします。

SS 2016-03-10 13.02.58

ファイルはYAMLで記述されています。

YAMLについて詳しく知りたい方は以下のリンクからどうぞ
YAML – Wikipedia

僕は次の様に編集しました。

extensions:
- keyString: "txt"
metadata: []
characters:
- beginString: "^!.*"
  regularExpression: true
keywords:
- beginString: "^-.*"
  regularExpression: true
commands:
- beginString: "^\\+.*"
  regularExpression: true
variables:
- beginString: "^#.*"
  regularExpression: true
types:
- beginString: "^ +[0-9]*:.*"
  regularExpression: true
values:
- beginString: "^ +\\*.*"
  regularExpression: true
commentDelimiters:
  endDelimiter: "*/"
  beginDelimiter: "/*"
#  inlineDelimiter: "//"
comments: []
numbers: []
strings: []
outlineMenu: []
completions: []

簡単な正規表現で実現できます。
また、キーと配色の関係などは別のシンタックスハイライトファイル(例えば、PHP, Diffなど)を参考にしました。

もともとは、以前からテキストファイルのカラーリングがやりたいと思っていました。
たまたまテキストファイルを開いたらフォーマットがDiffに選択されていて、”-“の行がカラーリングされていました。

そうだ!自分でカラーハイライトを作ればいいんだと思ったのがキッカケです。

アウトライン設定

せっかくなのでアウトラインを設定します。
!の大項目の行をアウトライン化します。

SS 2016-03-10 13.03.53

メニューバー > CotEditor > 環境設定 > フォーマットのダイアログを開きます。
アウトラインメニューに、正規表現で以下を追加します。

^\!+.*

便利に、アウトラインメニューからジャンプできるようになりました!

まとめ

この設定をしてドキュメントを作ったりメモをしたりして気づいたのですが、ドキュメントが統一化されてすごく良いです。
うちのエンジニアそれぞれが好きなエディタを使っているので情報共有だけになりますが、会社内でも展開しても良いと思います。
興味のある方は、是非参考にしてみてください。

スポンサーリンク
レクタングル(大)
レクタングル(大)

コメントをどうぞ

メールアドレスが公開されることはありません。

CAPTCHA


次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>