emacsでM-x shell
を実行して端末を取得すると、自動的に行を折り返す場所がわかります。たとえば、ls
の出力は、ウィンドウに適切に適合する列にフォーマットされます。ウィンドウを分割した後にEmacsシェルモードの表示が広すぎる
私の問題は、ウィンドウを垂直方向にC-x 3
で分割しても、ウィンドウ全体がフレーム全体を満たしていると思うということです。結果は、コマンド出力の醜いラッピングです。シェルモードで画面の幅を更新する必要があることを知らせる方法はありますか?
EDIT:
は以下のHNの答えを使用して、私はこの修正プログラムを思い付いた:
(defun my-resize-window()
"Reset the COLUMNS environment variable to the current width of the window."
(interactive)
(let ((proc (get-buffer-process (current-buffer)))
(str (format "export COLUMNS=%s" (window-width))))
(funcall comint-input-sender proc str)))
(defun my-shell-mode-hook()
(local-set-key "\C-cw" 'my-resize-window))
これは本当に便利な修正です。バグレポートとして提出してください! –
便利な機能をお寄せいただきありがとうございますが、プロセスがnilの場合に問題が発生するため、プロセスウィンドウのサイズを設定する前にnilチェックを追加しました - [私の答えを見る](http://stackoverflow.com/a/20015336/554279) –