cotコマンドと連携するCotEditorにはコマンドラインからの操作を可能にするcotコマンドラインツールがあります。cotコマンドを使うためには、まずコマンドをインストールしてください。
cotコマンドをインストールするcotコマンドはCotEditor.app内のContents/SharedSupport/bin/cotに内蔵されています。
Terminalからシンボリックリンクを作成して、任意の場所にコマンドをインストールできます。特にこだわりがない場合は/usr/local/bin/にシンボリックリンクを作成することをお勧めします。
推奨する場所にシンボリックリンクを作成するには、Terminalで以下のコマンドを実行します。
mkdir /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で実装されています。PythonはmacOS 12.3からシステムには同梱されなくなったため、cotコマンドを使うには自身でpython3をインストールする必要があります。
Appleが提供する開発ツールにはpython3が同梱されています。下記のコマンドをTerminalで実行するとAppleのコマンドラインデベロッパツールをインストールできます。もちろん他の方法でpython3をインストールしてもかまいません。
xcode-select --install
cotコマンドをアンインストールする上記推奨場所にインストールしたcotコマンドをアンインストールするときは、Terminalで以下のコマンドを実行します。
unlink /usr/local/bin/cot
cotコマンドは以下のオプションが使用できます:
| オプション | 説明 |
|---|---|
-w, --wait |
開いた書類が閉じるまでコマンドの終了を待ちます。 |
-r, --readonly |
書類を読み出し専用で開きます。 |
-n, --new |
空の新規書類を開きます。 |
-s, --syntax |
開いた書類に任意のシンタックスをセットします。 |
-l, --line <line> |
開いた書類の指定した行に移動します。 |
-c, --column <column> |
開いた書類の指定した列に移動します。 |
--goto <file[:line[:column]]> |
|
-b, --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"