REPL是Emacs的絕活符匾,并列兩個窗口,左邊源代碼瘩例,右邊解釋器啊胶。任何動態(tài)語言基本上都可以這么干,Python垛贤、Ruby焰坪、Lisp等。但是有個困擾我很久的問題聘惦,讓我很不爽某饰,今天把它解決了,紀(jì)念下善绎。
Scheme REPL界面
系統(tǒng)的Terminal輸出很多的時候黔漂,輸出就占滿了屏幕,輸入提示符到底部了禀酱。
終端輸出滿屏
這時候按一下Ctrl-L可以上卷到中部炬守,再按一下上卷到頂部。想回看輸出歷史還可以再卷上去比勉。
Ctrl-L 之后
Ctrl-L的效果在Emacs里是一樣的劳较。但是在Emacs里再輸入一次(Enter之后)驹止,前面的輸出又全部滾出來了,提示符又到了底部观蜗。這就很煩人了臊恋,那我之前按的Ctrl-L算什么。谷歌出來有人說清空輸出歷史就可以了墓捻,但是清空后就不能像在Terminal里一樣回看了抖仅。一點都不優(yōu)雅。
這個問題大概困擾了我有一年多砖第,一直以為是Emacs自身缺陷撤卢,自己也懶得深究,只想找個馬上見效的代碼貼過來用梧兼。后來覺得Emacs太復(fù)雜了放吩,轉(zhuǎn)向了vim,就一直沒管了羽杰。
最近在看Scheme渡紫,又想嘗試Emacs。這一次考赛,對Emacs了解更深入點了惕澎,順藤摸瓜,看Major mode和minor mode的函數(shù)和變量颜骤。終于讓我找到了這個
Shell Mode Options
看到標(biāo)紅的那句話時唧喉,我的內(nèi)心是崩潰的。意思是忍抽,Emacs出現(xiàn)這種狀況不是bug八孝,是因為GNU那幫人認(rèn)為這樣能充分利用屏幕,展示更多有用的信息梯找。

fuck
于是把這個變量設(shè)置成nil唆阿,一切就解決了。