我正在观看 Jim Weirich 关于在 Emacs 中使用 JavaScript 的 Y 组合器的演讲之一,地址是 http://v.youku.com/v_show/id_XNDQ4NDY0NjM2.html
(我认为,该演示文稿与他在 2012 年 RubyConf 上使用 Ruby 而不是 javascript 所做的演示非常相似。http://confreaks.com/videos/1287-rubyconf2012-y-not-adventures-in-functional-programming)
有一件事我注意到他正在通过“C-c v”快捷方式从 Emacs 内部评估缓冲区中的 JS(通过 node.js,如所示的一些错误消息),并将输出返回到另一个缓冲区.
我想知道是否有关于如何在 Windows 上的最新 Emacs 上进行设置的简单说明(在深入研究 comint/调用过程细节之前)...我搜索过,但到目前为止没有成功。顺便说一句,我已经安装了 node.exe,并且可以按照文章“setting-up-emacs-as-a-javascript-editing-环境为乐趣和利润”(抱歉不能发布超过 2 个链接...)
谢谢,
/熊
最佳答案
我定义了以下函数及其键映射。到目前为止它有效。
(defun node-js-eval-region-or-buffer ()
"Evaluate the current buffer (or region if mark-active),
and return the result into another buffer,
which is to be shown in a window."
(interactive)
(let ((debug-on-error t) (start 1) (end 1))
(cond
(mark-active
(setq start (point))
(setq end (mark)))
(t
(setq start (point-min))
(setq end (point-max))))
(call-process-region
start end ; seems the order does not matter
"node" ; node.js
nil ; don't delete region
"node.js" ; output buffer
nil) ; no redisply during output
(message "Region or buffer evaluated!")
(setq deactivate-mark t))) ; deactive the region, regardless
(define-key global-map (kbd "C-c v") 'node-js-eval-region-or-buffer)
我还有一点要深挖:如何自动分屏显示输出缓冲区?应该不会太难吧。。。
顺便说一句,我在 Windows 上安装了 Git 和 Node.js,并将“node.exe”复制到 Git 的“/bin”目录(安装时已添加到 PATH 环境)。
关于javascript - 如何在 Windows 上的 Emacs 中评估 javascript 缓冲区(通过 node.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19743105/