Skip to content

コマンドライン

ドキュメント作成中

一部の内容はまだ不完全な場合があります。

ThinkTerm がシェルから行うことはすべて、thinkterm という一つのバイナリを通ります。

thinkterm --help

サブコマンド

コマンド何をするか
startGUI を起動します。別のプログラムを実行することもできます。別名 -e
tui [DOMAIN…]現在のターミナルで ThinkTerm のインターフェースを開きます
connect <name>ThinkTerm マルチプレクサへ接続します
sshSSH セッションを確立します
serialシリアルポートを開きます
cli <subcommand>動作中のマルチプレクササーバーと対話します
imgcat <file>画像をターミナルへ出力します
ls-fonts使用中のフォント情報を表示します
show-keys現在のキー割り当てを表示します
set-working-directoryシェル統合のため、現在の作業ディレクトリをターミナルへ伝えます
recordターミナルセッションを asciicast として記録します
replayasciicast を再生します
shell-completionbash、zsh、fish、elvish、PowerShell 向けの補完スクリプトを出力します

動作中のマルチプレクサと対話する

thinkterm cli が相手にするのは、すでに動作しているサーバー — GUI ウィンドウの背後にあるもの、あるいはバックグラウンドの mux サーバー — です。マルチプレクサはウィンドウ、Thread、接続中のクライアントをまたいで任意のペインを指定できるため、これらのコマンドは今見ていないセッションにも届きます。

調べる

コマンド何をするか
listウィンドウ、タブ、ペインを一覧します
list-clients接続中のクライアントを一覧します
get-pane-direction指定方向のペインを報告します

作る・壊す

コマンド何をするか
spawn新しいタブまたはウィンドウを開始します
split-pane既存のペインを分割します
move-pane-to-new-tabペインを独立したタブへ移します
kill-paneペインを閉じます

移動とサイズ変更

コマンド何をするか
activate-paneペインにフォーカスします
activate-pane-direction指定方向のペインにフォーカスします
activate-tabタブにフォーカスします
adjust-pane-sizeペインのサイズを変更します
zoom-paneペインをタブいっぱいに拡大します

テキストの入出力

コマンド何をするか
send-text入力されたかのようにペインへテキストを書き込みます
get-textペインの画面に今あるテキストを読み取ります

名前と基盤

コマンド何をするか
set-tab-titleタブの名前を変更します
set-window-titleウィンドウの名前を変更します
rename-workspaceワークスペースの名前を変更します
agentエージェント状態を問い合わせます。現時点では読み取り専用です
tlscredsTLS 資格情報を取得します
proxyRPC プロキシパイプを開始します

一覧を返すコマンドでは、出力をテーブルまたは JSON で選べます。

2 つのペインのプログラムは互いに話せます

send-textget-text だけで、一方のプログラムがもう一方を動かせます。どちらにも改変は要りません。

プログラム A ──send-text──►  プログラム B のターミナル入力
                             B が作業し、応答を出力する
プログラム A ◄──get-text───  結果を読み取る

対話的なものなら何でも参加できます — コーディング支援ツール、シェルスクリプト、REPL。インターフェースはペインそのものなので、このために作り込む必要はありません。

現状このやり取りはターミナル入力の注入によって行われます。つまりメッセージの同定はできず、応答も構造化されておらず、完了はポーリングで確かめるしかありません。より構造化されたプロトコルを設計中です。

関連