在emacs中运行irb(通过run-ruby)回显我输入的所有内容

Tim*_*art 4 ruby emacs

我正在运行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中的回显?谢谢!

Tim*_*art 6

劣质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)

  • 仅供参考,您不需要预测 (6认同)