# MacのCotEditorで`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も）のチェックボックスを有効にしてください。

### Python 3のインストール

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` | 開いたファイルが閉じるまでコマンドの終了を待ちます。
`-n`, `--new` | 空の新規書類を開きます。
`-s`, `--syntax` | 開いた書類に任意のシンタックスをセットします。
`-l`, `--line` `<line>` | 開いた書類の指定した行に移動します。`<line>`は行を指定する整数型です。
`-c`, `--column` `<column>` | 開いた書類の指定した列に移動します。`<column>`は列を指定する整数型です。
`-b`, `--background` | CotEditorをバックグラウンドで開きます。
`-h`, `--help` | ヘルプを表示します。
`-v`, `--version` | バージョンを表示します。

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

## 例

`cot`コマンド単体でCotEditorが起動します。

    cot

以下のコマンドは、foo.txtファイルをCotEditorで開き200行目に挿入ポイントを移動します。もしfoo.txtファイルが存在しない場合は、`cot`コマンドは何も行いません。

    cot --line 200 foo.txt

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

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

文字列をパイプで渡すこともできます。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"

## 関連項目

- 「一般」設定を変更する