我已经使用 Emacs shell 模式一段时间了,但有一件事一直困扰着我。在我使用Ctrl+垂直分割窗口3、调用命令M-x shell
和输出并用命令和输出填充窗口后,每当我执行命令时,指针都会跳转到屏幕中间,那里通常是上一个命令的输出。我可以使用Alt+>跳转到新提示符所在的位置,但这很繁琐。但是,如果我不分割窗口,即保持指针在屏幕底部,Emacs 就可以正常工作。
我偶然发现的另一个事实(不是同一个问题)是,我可以将所有输出保留在屏幕上半部分,而将下半部分留空。这是由某种快捷方式触发的吗?
为了澄清起见,我只希望我的 Emacs shell 的输出表现得像 bash 之类的常见 shell,即保持指针在底部。输入命令后,emacs 中的指针有时会跳到屏幕中间。
希望我已经表达清楚了。
答案1
问题已解决此链接。
即添加如下代码到~/.emacs
(remove-hook 'comint-output-filter-functions 'comint-postoutput-scroll-to-bottom)
c-l c-l
在 shell 模式下按下后。
答案2
(defun eshell/clc()
"to clear the eshell buffer."
(interactive)
(let ((inhibit-read-only t))
(erase-buffer)))
在 emacs shell 中输入“clc”即可清除屏幕。