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」も有効にします。
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> |
開いた書類の指定した行に移動します。 |
-c, --column <column> |
開いた書類の指定した列に移動します。 |
--goto <file[: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"