最近、いくつかのシェル サブプロセスを実行するためにterm-mode (によって呼び出される(term)
) をより頻繁に使用しており、何かが気になっています。
問題は、これらのプロセスの一部にテキスト UI があり、Emacs の絶えず変化するウィンドウ サイズとの対話が非常に不十分なことです。サブプロセスという用語の固定幅/高さを設定する方法はありますか? 実際のウィンドウ幅を固定する必要はありません。シェルのサブプロセスを一定の寸法で動作させたいだけです。
term-window-width
次のように定義をオーバーライドできます。
(defun term-window-width () 80)
これは emacs ウィンドウのサイズには影響しませんが、プロセスという用語は常にウィンドウが 80 カラム幅であると見なします。で行の切り捨てをオンにすることもできますterm-mode-hook
。
(add-hook 'term-mode-hook
(lambda () (setq truncate-lines t)))
完全にはわかりませんが、少なくともジェネリックでは、あなたが求めている動作は不可能だと思いますterm
。Emacs ウィンドウ (qv、変数) のサイズを (少なくとも部分的に) 修正できwindow-size-fixed
ますが、何らかの理由でウィンドウのサイズが変更された場合、新しいウィンドウを反映するようにおよび環境変数をterm
更新することを防ぐ方法はありません。寸法。一方、ではなくを使用する場合は、任意の値を使用でき、セッション全体で保持されます。あなたの好みの構成についての私の理解が正しければ、あなたの最良の選択肢は使用することかもしれません$COLUMNS
$LINES
shell
term
export
$COLUMNS
$LINES
shell
ncurses ベースのアプリが一定のサイズを維持するように、固定サイズのウィンドウ内で、通常の出力は通常どおりバッファーによって単純にラップまたはスクロールされます。または、multi-term
パッケージを調査することもできます。個人的には保証できませんが、過去に他の人が推奨しているのを見たことがあります.
編集: の使用について私が言ったことをスクラッチしshell
ます。まったく使用してから長い時間が経ちました。ほとんどの ncurses ベースのプログラムを一般的にサポートしていないことを忘れていました。ごめん。