質問: iterm2でのフォントサイズの拡大/縮小 問題:外出先でラップトップを使用し、オフィスにいるときに外部モニターに接続します。外部モニターが非常に大きいので、既存のiterm2ウィンドウ(通常は1つ)とすべてのタブのフォントを増やす必要があります。 回避策:ウィンドウ(通常は1つ)で開いているすべてのタブについて、フォントを2〜4倍に拡大します(cmd-+を押すことにより)。質問:現在のウィンドウのすべてのタブのフォントサイズを拡大/縮小する自動化できる簡単な方法はありますか?または、2つの個別のプロファイルを作成する場合、ウィンドウで現在開いているすべてのタブにいくつかのプロファイルを簡単に適用できますか?
回答: これを自動化するための本当におかしくバギーな方法がありますが、とにかく投稿します。iterm2の設定([プロファイル]ペイン)で新しいプロファイルを作成できます。 「largefont」としましょう。 ⌘=を押すと、デフォルトからクローンできます。新しく作成したプロファイルのテキストペインに表示するフォントサイズを設定します。今ここにトリックがあります。 applescriptを使用してターミナルセッションのフォントサイズやプロファイルを変更することはできません(少なくとも方法はわかりません)が、applescriptを使用してすべてのセッションでコマンドを実行でき、iterm2にはカスタムエスケープシーケンスがあります。 echoされたセッションのプロファイルの変更をサポートします。したがって、それを実行できます:echo -e "\033]50;setprofile=largefont\a" 開かれたすべてのセッションで、ターミナルのプロファイルを「largetext」に変更します。これで、applescriptを使用して、開いているすべてのセッションの実行を自動化できます。tell application "iterm" repeat with theterminal in terminals tell theterminal repeat with thesession in sessions tell thesession write text "echo -e '\\033]50;setprofile=largetext\\a'" end tell end repeat end tell end repeat end tell 各セッションにテキストを(文字どおりに)書き込むだけなので、タブのいずれかでテキストエディターを開いている場合は機能しないことに注意してください。エコーコマンドはコード/構成ファイルに貼り付けられます。代わりに。いずれかのタブでpingコマンドを実行している場合-動作しません。 シェルでインタラクティブなものが実行されていないことを確認する必要があります。また、これらのコマンドはシェルの履歴に残ります。コマンド自体の前にスペースを追加することでそれをバイパスできます(echo -e ...など)。これは少なくともzshでは機能します。これがzsh関数です:function iterm_change_profile() { osascript -e " tell application \"iterm\" repeat with theterminal in terminals tell theterminal repeat with thesession in sessions tell thesession write text \" echo -e \\\"\\\\033]50;setprofile=$1\\\\a\\\"\" end tell end repeat end tell end repeat end tell" } だからあなたはそれをそのように使うことができます:iterm_change_profile largefont また、欠点もあります。プロファイルをフォントの大きいものから小さいものに変更すると、itermのウィンドウのサイズが大幅に変更されます。しかし、繰り返しますが、それは本当にひどい方法です。