2010-08-10 77 views
15

有沒有可以在RGui(Ctrl-L)中找到的清除控制檯命令的ESS版本?Emacs ESS版本的清除控制檯

我想要一個空白* R *緩衝區。

+0

+1這個人正在困擾我很長一段時間......而且,BTW'C-l'鍵綁定僅在RGUI中不可用,而在* NIX系統上的R交互式會話中也不可用。對於所有* NIX炮彈來說,這是普遍的。 =) – aL3xa 2011-09-21 14:20:40

回答

9

EmacsWiki,這elisp的功能很適合我:

(defun clear-shell() 
    (interactive) 
    (let ((old-max comint-buffer-maximum-size)) 
    (setq comint-buffer-maximum-size 0) 
    (comint-truncate-buffer) 
    (setq comint-buffer-maximum-size old-max))) 

的東西,如把這個在您的~/.emacs.d/init.elM-x clear-shell執行,或將其綁定到一個關鍵在你​​(global-set-key (kbd "\C-x c") 'clear-shell)

+1

這真的很整潔。當我在另一個窗口時,有沒有辦法讓我發現?如果我不在活動shell的窗口中時嘗試執行'clear-shell'或'C-x c',則會出錯; 'processp,nil'。我是emacs新手,如果我忽略了一些基本的東西,請耐心等待。 – 2013-01-11 19:39:02

6

簡單的方法是標記整個緩衝區(C-x h),刪除它,然後點擊RET以提示回來。

+1

,這不適用於R緩衝區,出於某種原因 – 2011-01-06 15:16:24

1

執行M-x comint-clear-buffer這勢必C-c M-o