2013-08-28 62 views
0

作爲標題,我如何清除Emacs中的gdb命令屏幕。 我試過殼牌清除但它只在終端中與gdb一起使用。在emacs中清除gdb屏幕?

有沒有人在這裏給我一個理想?

提前致謝!

回答

0

類型C-1 C-l。這將滾動緩衝區,以便當前行位於窗口的頂部。

+0

我知道,但是當我運行一個新的命令它會再次滾動到底部。 – dangnam2910

+0

你是對的。這很煩人。 – Thomas

0

您可以通過鍵入清除整個緩衝區C-x h C-w SPC RET

+0

感謝您的回覆。它可以工作,但是當我按RET時它意味着我也運行一個重複上一個命令的新命令。 – dangnam2910

+0

可以通過在RET之前插入空格字符來修復。我已經相應地改變了我的答案。 – Thomas

+0

好吧,它現在工作正常:),雖然它是相當長的組合鍵 – dangnam2910

1

可以將此defun定義綁定到您選擇的關鍵:

(defun clean-comint-buffer() 
    (interactive) 
    (delete-region (point-min) 
       (save-excursion 
        (goto-char (point-max)) 
        (forward-line 0) 
        (point)))) 

它適用於GDB和其他基於COMINT-模式(外殼,Interactive SQL中,等...),有時往往與成長線條不再有用。

編輯

對於這個功能結合到所有COMINT緩衝區(GDB緩衝是其中之一),你可以使用(假設你要抄送G):

(add-hook 'comint-mode-hook 
      (lambda() 
      (local-set-key "\C-cg" 'clean-comint-buffer))) 
+0

我沒有太多有關配置emacs的知識,但我只是一個用戶。那麼,你能指導我意味着將這個defun綁定到一個關鍵嗎?我期望綁定C-c g(清除gdb),但沒有奏效。也許我做了一個傻瓜。你可以幫我嗎? ;; =====清除GDB屏幕 (defun定義清潔COMINT緩衝液() (交互) (刪除區域(點分) (保存衝程 (轉到炭(點 - 最大)) ( (local-set-key「\ C-cg」'clean-comint-buffer) – dangnam2910

+0

@ dangnam2910,參見mi編輯一個綁定這個鍵的方法 – juanleon

+0

它現在運作良好。大。謝謝。 – dangnam2910