如何使用Node.js在Emacs的JS-COMINT(Using Node.js with JS-

2019-07-05 05:12发布

我使用Emacs 24.2。 我已经安装了js-comintjs-mode从MELPA ,执行run-js ,现在在REPL代替>标志我有这样的乱码:

^[[1G> ^[[0K^[[3G

该REPL本身低劣的Javascript模式下工作得很好,只是>符号改变。 如果输入未完成的表达,它甚至打印^[[1G... ^[[0K^[[5G 。 该^[是系统字符,不与复制-粘贴复制的,我加他们为你有一个想法。

在我的初始化文件:

(require 'js-comint)
(setq inferior-js-program-command "nodejs")

在主叫终端nodejs产生工作REPL。

为什么提示的行为这种方式? 我应该做些什么来纠正呢?

Answer 1:

(setq inferior-js-mode-hook
      (lambda ()
        ;; We like nice colors
        (ansi-color-for-comint-mode-on)
        ;; Deal with some prompt nonsense
        (add-to-list
         'comint-preoutput-filter-functions
         (lambda (output)
           (replace-regexp-in-string "\033\\[[0-9]+[GK]" "" output)))))

\033是它打印作为转义字符^[



Answer 2:

只需添加一行在你的.emacs:

(setenv "NODE_NO_READLINE" "1")

答案从这篇文章: Node.js加载提示“>”可以ESHELL不显示



Answer 3:

不知道最近怎么样,但现在可以下载和使用nodejs-repl



文章来源: Using Node.js with JS-comint in Emacs