2009-08-15 29 views
3

我運行的是Windows Vista和Emacs 23.1.1,並且我已經使用「一鍵式Ruby安裝程序」安裝了Ruby。然後我按照inf-ruby.el中的說明安裝了隨Ruby安裝的Emacs Lisp文件。當我運行run-ruby(M-x run-ruby)函數時,irb會啓動,但每次按Enter時,irb都會打印出我剛輸入的那一行。例如:在emacs中運行irb(通過run-ruby)回顯我輸入的所有內容

irb(main):001:0> def foo() 
def foo() 
        3 + 4 
3 + 4 
       end 
end 
nil 

這很煩人。如果我只是在cygwin命令shell中運行irb,則不會執行回顯。例如:

$ irb.bat --inf-ruby-mode 
irb(main):001:0> def foo() 
        3 + 4 
        end 
nil 

如何關閉Emacs中的回顯?謝謝!

回答

5

劣質Ruby模式建立在comint模式之上。

我注意到有一個名爲comint-process-echoes的comint變量。

我將此變量設置爲t(真),並且回顯停止。

以下是我設置變量:

;;; Define Ruby Mode Hook 
(defun my-ruby-mode-hook() 
    (progn 
    (setq comint-process-echoes t) 
    (turn-on-font-lock) 
    (auto-fill-mode) 
    (yas/minor-mode) 
    (inf-ruby-keys))) 

;;; Register Ruby Mode Hook 
(add-hook 'ruby-mode-hook 'my-ruby-mode-hook) 
+6

FYI你不需要預測 – scottfrazer 2009-08-15 21:33:21

+0

我不認爲答案需要所有不相關的定製不能解決OP的問題(如YASnippet等) – dolzenko 2013-10-31 11:01:19

3

應該是這樣的:

(defun定義回聲假() (setq COMINT進程相呼應t))的

(add-hook'comint-mode-hook'echo-false)

相關問題