我正在运行Windows Vista和Emacs 23.1.1,我使用"One Click Ruby Installer"安装了Ruby.然后我按照inf-ruby.el中的指定安装了随Ruby一起安装的Emacs Lisp文件.
当我运行run-ruby(Mx run-ruby)函数时,irb启动但每次按Enter键时,irb打印出我刚输入的行.例如:
irb(main):001:0> def foo()
def foo()
3 + 4
3 + 4
end
end
nil
Run Code Online (Sandbox Code Playgroud)
这很烦人.如果我只是在cygwin命令shell中运行irb,则不执行回显.例如:
$ irb.bat --inf-ruby-mode
irb(main):001:0> def foo()
3 + 4
end
nil
Run Code Online (Sandbox Code Playgroud)
如何关闭Emacs中的回显?谢谢!
劣质Ruby模式建立在comint-mode之上.
我注意到有一个名为comint-process-echoes的comint变量.
我将此变量设置为t(true)并且回显停止.
以下是我设置变量的方法:
;;; 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)
Run Code Online (Sandbox Code Playgroud)