javascript - 如何在 Windows 上的 Emacs 中评估 javascript 缓冲区(通过 node.js)

标签 javascript node.js emacs

我正在观看 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/

相关文章:

javascript - 我的 JS 代码在初始加载/页面更改时不起作用

javascript - 下拉菜单上的 jquery 超时(悬停意图)

javascript - 如何使用node js在html文件中传递变量以发送邮件

javascript - 如何将 Underscore.js 模板与 EJS 结合使用?

emacs - Elisp 函数返回标记而不是正确的值

javascript - Mean.js 多种布局,服务器或 Angular 布局

javascript - Handlebars 辅助功能不起作用

node.js - 如何从Azure Function以二进制数据形式返回base64图像

emacs - 在新的 Emacs 24.3 中调整术语面

Emacs:选择一个区域并键入以删除该区域