私はしばらくの間Emacsシェルモードを使用していましたが、1つのことが私を悩ませ続けています。でウィンドウを垂直に分割した後 Ctrl+3、M-x Shell
を呼び出して、コマンドと出力をウィンドウに入力します。コマンドを実行するたびに、ポインターは画面の中央にジャンプします。通常は前のコマンドの出力があります。私はできた Alt+> 新しいプロンプトのある場所にジャンプしますが、それは面倒です。ただし、ウィンドウを分割しない場合、つまり、画面の下部にポインターを保持する場合、Emacsはうまく機能します。
私が見つけた別の事実(同じ質問ではありません)は、画面の上半分にすべての出力を保持し、下半分を空白のままにできることです。これはショートカットによってトリガーされますか?
明確にするために、Emacsシェルの出力はbashのような一般的なシェルのように振る舞う、つまり、ポインターを下部に保持したいだけです。コマンドを入力した後、emacsのポインターが画面の中央にジャンプすることがあります。
うまくいけば、自分自身が理解できるようになりました。
このリンク で解決された質問。
つまり、次のコードを~/.emacs
に追加します
(remove-hook 'comint-output-filter-functions 'comint-postoutput-scroll-to-bottom)
シェルモードでc-l c-l
を押した後。
(defun eshell/clc()
"to clear the eshell buffer."
(interactive)
(let ((inhibit-read-only t))
(erase-buffer)))
Emacsシェルで「clc」と入力すると、画面がクリアされます。