変数 comint-scroll-to-bottom-on-input が nil 以外の場合、挿入およびヤンクコマンドは、挿入前に選択ウィンドウを最下部までスクロールします。デフォルトは
nil です。
comint-scroll-show-maximum-output が nil
以外の場合、ポイントが末尾に達した際に出力が届くと、テキストの最終行をウィンドウの最下行までスクロールさせ、可能な限り多くの有用なテキストを表示しようとします。(これはほとんどのターミナルのスクロール動作を再現したものです。)デフォルトは
t です。
comint-move-point-for-output
を設定すると、出力が届くたびにポイントをバッファの末尾へジャンプさせるよう指定できます—バッファ内のどこにポイントがあったかは問いません。値が
this の場合、ポイントは選択中のウィンドウ内でジャンプします。値が all の場合、ポイントは Comint バッファを表示している各ウィンドウ内でジャンプします。値が other
の場合、ポイントは現在のバッファを表示している選択外のすべてのウィンドウ内でジャンプします。デフォルト値は nil で、これはポイントが末尾へジャンプしないことを意味します。
comint-prompt-read-only を設定すると、Comint
バッファ内のプロンプトは読み取り専用になります。
変数 comint-input-ignoredups
は、連続して入力された同一の入力を入力履歴に保存するかどうかを制御します。nil
以外の値を指定すると、直前の入力と同じ入力を省略します。デフォルトは nil
で、直前の入力と同一であっても各入力を保存します。
3つの変数でファイル名の補完動作をカスタマイズできます。変数 comint-completion-addsuffix
は、完全に補完されたファイル名やディレクトリ名であることを示すために、補完時にスペースまたはスラッシュを挿入するかどうかを制御します(nil 以外の場合はスペースまたはスラッシュを挿入します)。comint-completion-recexact が nil 以外の場合、通常の Emacs 補完アルゴリズムで1文字すら追加できないときに、TAB に可能な限り短い補完候補を選択させるよう指示します。comint-completion-autolist が nil 以外の場合、補完結果が完全ではないときに考えられるすべての補完候補を一覧表示するよう指示します。
コマンド補完では通常、実行ファイルのみが対象となります。shell-completion-execonly を nil に設定すると、実行ファイル以外のファイルも対象になります。
変数 shell-completion-fignore
は、シェルモードの補完において無視するファイル名拡張子のリストを指定します。デフォルト設定は nil
ですが、‘~’、‘#’ または ‘%’
で終わるファイル名を無視するために ("~" "#"
"%") を好むユーザーもいます。その他の関連する Comint モードでは、代わりに変数 comint-completion-fignore が使用されます。
シェルコマンド補完の実装詳細の一部は、shell-dynamic-complete-command関数のLispドキュメントにも記載されています。
‘pushd’の動作を設定できます。変数によって、引数が指定されていない場合に‘pushd’が‘cd’と同様に動作するか(shell-pushd-tohome)、数値引数が指定された場合に回転ではなくポップを行うか(shell-pushd-dextract)、そしてディレクトリが既にディレクトリスタックに存在しない場合にのみ追加するか(shell-pushd-dunique)を制御できます。もちろん、選択する値は基盤となるシェルと一致している必要があります。
Comintモードでは、環境変数 TERM
に安全なデフォルト値が設定されますが、これにより一部の便利な機能が無効になります。例えば、カラー表示のサポート判定に TERM を使用しているアプリケーションでは、カラー出力が無効になります。システムの terminfo
データベースに端末タイプ ‘"dumb-emacs-ansi"’ の定義が含まれている場合(最近の
terminfo の全バージョンがそうです)、オプション comint-terminfo-terminal を ‘"dumb-emacs-ansi"’
にカスタマイズすることで、カラー表示を含む高度な端末機能を有効にできます。system-uses-terminfo が nil
でない限り、Emacs は TERM の値として comint-terminfo-terminal を使用します。
comint-terminfo-terminal と system-uses-terminfo
はいずれも接続ローカル変数として宣言でき、これらのオプションをリモートシステムの想定に合わせて調整することが可能です(接続ごとのローカル変数を参照)。