javascript - Emacs 中的 Node REPL 打印我的输入

标签 javascript node.js emacs read-eval-print-loop

我在 Node REPL 中设置一些详细信息时遇到问题:

每当我在提示符中输入命令时,在我从 REPL 获得实际输出之前,都会重新打印该命令。例如:

var n = 1; var n = 1; undefined

我尝试使用balajis repo https://github.com/startup-class/dotfiles/blob/master/.emacs.d/js-comint.el中的一些代码,但后来我的 M-x run-js 命令不起作用。

这是我的初始化文件(我还没有编辑我的 js-comint.el):

(normal-erase-is-backspace-mode 1)


(add-to-list 'load-path "~/.emacs.d/")
(add-to-list 'load-path "~/.emacs.d/auto-complete/")
; Load the default configuration                                                                             
(require 'auto-complete-config)
; Make sure we can find the dictionaries                                                                     
(add-to-list 'ac-dictionary-directories "~/.emacs.d/auto-complete/dict")
; Use dictionaries by default                                                                                
(setq-default ac-sources (add-to-list 'ac-sources 'ac-source-dictionary))
(global-auto-complete-mode t)
; Start auto-completion after 2 characters of a word                                                         
(setq ac-auto-start 2)
; case sensitivity is important when finding matches                                                         
(setq ac-ignore-case nil)
(add-to-list 'load-path "~/.emacs.d/yasnippet/")
(require 'yasnippet)
(yas-global-mode 1)
;; Load the snippet files themselves                                                                         
(yas/load-directory "~/.emacs.d/yasnippet/snippets/text-mode/javascript-mode/")
;; Let's have snippets in the auto-complete dropdown                                                         
(add-to-list 'ac-sources 'ac-source-yasnippet)

(add-to-list 'auto-mode-alist (cons (rx ".js" eos) 'js2-mode))

(require 'js-comint)
(setq inferior-js-program-command "/usr/bin/java org.mozilla.javascript.tools.shell.Main")
(setq inferior-js-program-command "node")

(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]+[GKCJ]" "" output)))))

(add-hook 'js2-mode-hook '(lambda ()
                           (local-set-key "\C-x\C-e" 'eval-last-sexp)
                           (local-set-key "\C-cb" 'js-send-buffer)
                           (local-set-key "\C-c\C-b" 'js-send-buffer-and-go)
                           (local-set-key "\C-cl" 'js-load-file-and-go)
                           (local-set-key "\C-c!" 'run-js)
                           (local-set-key "\C-c\C-r" 'js-send-region)
                           (local-set-key "\C-c\C-j" 'js-send-line)
                           (local-set-key "\C-c\C-u" 'whitespace-clean-and-compile)
                           ))

最佳答案

如果您愿意稍微改变一下解决问题的方法,您可以使用 replpad反而。它适用于任何编辑器,只要文件更改就会自动更新。

只需通过以下方式安装:npm install -g replpad

然后通过运行来使用它:replpad

如果您希望它监视当前目录和所有子目录中的所有文件,并在它们更改时将它们通过管道传输到 repl 中,请执行以下操作:replpad 。

更多详情in this answer

关于javascript - Emacs 中的 Node REPL 打印我的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22876829/

相关文章:

node.js - Mongoose 无法在 Firebase (Express Api) 托管上工作

emacs - 通用参数 emacs (C-u) 和减号

javascript - 为什么 innerHTML 属性会自动 trim 字符串?

javascript - 让 Transcrypt 输出可读文件

javascript - 将父 div 平滑地增长到添加的子 div 的高度 - Javascript

javascript - 交互式图表(由 dc.js 提供)无法正确相互更新

node.js - 路径.js :1086 Error: ENOENT: no such file or directory, uv_cwd

node.js - 当 mongodb 服务器关闭时如何在运行 mongoose 查询时捕获错误

python - 使文件名/行号在 Emacs gud 缓冲区中可链接

c++ - Emacs 最快的 C++ 编译过程?