我使用的是Emacs 24.2。我已经从MELPA安装了js-comint
和js-mode
,执行了run-js
,现在在REPL而不是>
签名我有这个胡言乱语:
^[[1G> ^[[0K^[[3G
在Inferior Javascript模式下的REPL本身工作正常,只是>
符号被更改。如果输入未完成的表达式,它甚至会打印^[[1G... ^[[0K^[[5G
。 ^[
是系统字符,不会通过复制粘贴进行复制,我会添加它们以供您了解。
在我的初始文件中:
(require 'js-comint)
(setq inferior-js-program-command "nodejs")
在终端呼叫中nodejs
生成工作REPL。
为什么提示会以这种方式行事?我该怎么做才能纠正这个问题?
答案 0 :(得分:19)
答案 1 :(得分:18)
(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
是它打印为^[
的转义字符。
答案 2 :(得分:2)
不确定最近的情况,但现在可以下载并使用nodejs-repl
。