繁体   English   中英

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

[英]How to evaluate javascript buffer (by node.js) from within Emacs on Windows

我正在http://v.youku.com/v_show/id_XNDQ4NDY0NjM2.html上观看Jim Weirich关于使用Emacs中的JavaScript的Y组合器的演讲之一。

(这次报告会是非常相似的,我想,他在2012 RubyConf的使用了,而不是JavaScript的红宝石.. http://confreaks.com/videos/1287-rubyconf2012-y-not-adventures-in-functional-programming

我注意到一件事,他正在快捷方式“ Cc v”中从Emacs(通过node.js,通过显示一些错误msgs)在Emacs中评估缓冲区中的JS,还将输出返回到另一个缓冲区中。

我想知道有没有关于如何在Windows上最新的Emacs上进行安装的简单说明(在深入介绍comint / call-process细节之前) ...我进行了搜索,但到目前为止没有成功。 顺便说一句,我确实安装了node.exe,并可以按照“ setting-up-emacs-as-a-javascript-editing-”一文中的说明,通过“ Mx run-js”以Emacs的形式在REmacs中以REPL交互方式运行节点。有趣的营利环境”(对不起,不能发布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环境中)。

安装js3-mode

然后:

(require 'js-comint)
(setq inferior-js-program-command "node --interactive")
(setenv "NODE_NO_READLINE" "1")
;; Use your favorited js mode here:
(add-hook 'js3-mode-hook '(lambda () 
                (local-set-key "\C-x\C-e" 
                       'js-send-last-sexp)
                (local-set-key "\C-\M-x" 
                       'js-send-last-sexp-and-go)
                (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)
                ))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM