MacのCotEditorでcotコマンドと連携する

CotEditorには、コマンドラインから書類を開いたり、標準入力からテキストを受け取ったりできるcotコマンドラインツールがあります。cotコマンドを使うには、まずコマンドをインストールしてください。

cotコマンドをインストールする

cotコマンドはCotEditor.app内のContents/SharedSupport/bin/cotに同梱されています。

ターミナルでシンボリックリンクを作成すると、PATHが通っている任意の場所にインストールできます。特にこだわりがない場合は、/usr/local/bin/にシンボリックリンクを作成するのがお勧めです。

推奨する場所にシンボリックリンクを作成するには、ターミナルで以下のコマンドを実行します。

mkdir -p /usr/local/bin/
ln -s /Applications/CotEditor.app/Contents/SharedSupport/bin/cot /usr/local/bin/cot

セキュリティ認証

macOSで別のアプリからcotコマンド経由でCotEditorを操作するには、ユーザの認証が必要です。この認証は通常、cotコマンドを初めて使ったときのダイアログから行えます。認証されなかった場合は、「システム設定」>「プライバシーとセキュリティ」>「プライバシー」>「オートメーション」で、ターミナルなど利用するクライアントアプリの下にある「CotEditor」を有効にしてください。さらに、--waitオプションを使うときは「System Events」も有効にします。

Python 3のインストール

cotコマンドはPython 3で実装されています。macOS 12.3以降ではPythonが標準では付属しないため、cotコマンドを使うにはpython3コマンドを自身で用意する必要があります。

Appleが提供するコマンドラインデベロッパツールにはpython3が含まれます。下記のコマンドをターミナルで実行するとインストールできます。もちろん、ほかの方法でpython3をインストールしてもかまいません。

xcode-select --install

cotコマンドをアンインストールする

上記推奨場所にインストールしたcotコマンドをアンインストールするときは、ターミナルで以下のコマンドを実行します。

unlink /usr/local/bin/cot

コマンドをオプションとともに使う

cotコマンドは以下のオプションが使用できます:

オプション説明
-w, --wait

開いた書類が閉じるまでコマンドの終了を待ちます。

-r, --readonly

書類を読み出し専用で開きます。

-n, --new

空の新規書類を開きます。存在しないファイルを指定した場合は、新規作成して開きます。

-s, --syntax

開いた書類に任意のシンタックスをセットします。

-l, --line <line>

開いた書類の指定した行に移動します。<line>は行を指定する整数型です。

-c, --column <column>

開いた書類の指定した列に移動します。<column>は列を指定する整数型です。

--goto <file[:line[:column]]>

FILEにある書類を開き、LINECOLUMNで指定した箇所に移動します(--line--columnオプションのシンタックスシュガー)。

-g, --background

CotEditorを前面に出さずに開きます。

-h, --help

ヘルプを表示します。

-v, --version

バージョンを表示します。

--line--column--gotoオプションは負の値を指定することもできます。そのとき、--lineオプションの場合は書類の末尾から、--columnオプションの場合は行の末尾からカウントされます。

cotコマンドを実行する

cotコマンド単体でCotEditorが起動します。CotEditorがすでに起動している場合は、最前面に持っていきます。

cot

以下のコマンドは、foo.txtファイルをCotEditorで開き、200行目に挿入ポイントを移動します。foo.txtファイルが存在しないときは、cotコマンドはエラーを返します。

cot --line 200 foo.txt

以下のコマンドは、foo.txtファイルをCotEditorで開き、書類末尾に挿入ポイントを移動します。

cot --line -1 --column -1 foo.txt

--gotoオプションを使うと、移動する先の行と列をコンパイラメッセージなどでよく使われる短縮記法で指定することもできます。以下のコマンドは、foo.txtファイルをCotEditorで開き、200行4列目に挿入ポイントを移動します。

cot --goto foo.txt:200:4

ファイル名の代わりにダッシュ(-)を渡すと、標準入力を受け取るモードになります。受け取った入力は新規書類として開かれます。

cot -

テキストをパイプで渡すこともできます。CotEditorは渡されたテキストを新規書類として開きます。

echo "I am a dog but also a cow at the same time." | cot

--waitオプションを使えばCotEditorをgitのエディタとして指定することもできます。

git config --global core.editor "cot -w"

関連項目