Articles of emacs

Emacs:在etags中查找函数定义

语法检查在js2模式是真棒。 但有时候我只是想定义一个名为“delete”或“new”的函数,即使认为这不是一个好主意。 Js2模式似乎认为这是一个错误。 如何在js2模式下使用内build关键字作为函数名称? 我需要你的帮助。 ================================================ 我为我的愚蠢问题感到抱歉… 我正在使用etags。 但写一些像: exports.new = function() { }; 看来etags会把这个看作是'exports.new'的定义,而不是'new'。 TAGS };exports.new248,8614 所以我想写一些像这样的东西: function new() { } exports.new = new; 我是多么的愚蠢! 所以我的问题转回到如何让etagsfind'new'的定义,而不是'exports.new'? 谢谢。 🙂

Emacs Mx术语无法find节点/咖啡

我一直在mac-emacs上徘徊,而且我有Mx install-package -d咖啡模式。 我决定尝试一下coffee-compile-file命令,但是当我运行它时,它失败了,抱怨找不到coffee命令。 所以我打开ZSH和Bash的terminal。 coffee和node运行良好。 所以,分割我的emacs屏幕,眨出Mx term ,让bash加载,然后inputcoffee : bash-3.2$ coffee bash: coffee: command not found 奇。 我尝试了相同的节点和NPM。 bash-3.2$ node bash: node: command not found bash-3.2$ npm bash: npm: command not found 我的问题是, 为什么这只发生在Mx term ,我该如何解决。

Node.js中的REPL驱动开发

在像Clojure和Scheme这样的语言中,我确实喜欢用REPL驱动的模式编写代码,当你在编辑器( Emacs中编写一段代码时,把它发送到你的REPL,然后回到编辑器,修复发现的问题并再次将代码发送到REPL。 我试图用Node.js来做同样的事情,如果我仅限于使用ES5语法,那么这种方法是有效的。 但是如果我使用像const , let和class这样的ES6特性,我预计会在重新评估我的声明时出错: > let foo = 1; > let foo = 2; TypeError: Identifier 'foo' has already been declared 是否有任何Node.js REPL参数,或可能修补REPLs ,甚至一些神奇的Emacs模式,当我重新评估我的代码时,将清除现有的声明? 这样我就可以用这种方式编写Node.js代码,而无需不断地考虑我正在使用的语法和/或需要在每次重新评估时手动重新启动REPL 。

Emacs – 加载模块后绑定密钥

我想为emacsbuild立一个Node.js的keybindings REPL。 我看了一下nodejs-repl ,现在我可以打开一个REPL并使用nodejs-send-region命令来执行代码。 但是我不知道如何绑定例如Cc Ce到这个命令。 我认为我必须使用comint-mode (?)。 我试过了: (require 'nodejs-repl) ;; bind shortcuts when in node mode-line (eval-after-load 'nodejs-repl (lambda () (local-set-key (kbd "Cc Ce") #'nodejs-repl-send-region)))

运行npm全局安装的软件包

有人可以请解释节点的全局安装行为。 这真让我困惑。 如果我安装一个包(可执行文件),如全球http-server我可以运行它: http-server 但是,如果我这样做 node http-server 我明白了 module.js:339 throw err; ^ Error: Cannot find module '/path/to/current/dir/http-server' at Function.Module._resolveFilename (module.js:337:15) at Function.Module._load (module.js:287:25) at Function.Module.runMain (module.js:457:10) at startup (node.js:136:18) at node.js:972:3 我怀疑在emacs我的tern包正试图运行它,因此node因此打破。 为什么发生这种情况? 为什么不能find自己模块的path?

npm在emacs eshell下不能正确显示提示符

这个问题Node.js提示'>'不能在eshell中显示解决节点repl的问题,但是当你从npm调用节点时,这个解决scheme不起作用。 如果我做的例子 $ npm init This utility will walk you through creating a package.json file. It only covers the most common items, and tries to guess sane defaults. See `npm help json` for definitive documentation on these fields and exactly what they do. Use `npm install <pkg> –save` afterwards to install a package and save […]

在Emacs的nodejs模式下得到垃圾提示

我在Emacs 24上使用nodejs-mode ,但是当我input: Mx nodejs 它提示垃圾提示像[0J> ,现在即使我已经在下面添加了 (setq ansi-color-for-comint-mode t) 在emacs文件中。 它仍然不起作用。 所有相同的,如果我在Emacs shell-mode上键入node目录,那么我会得到一个更恼人的提示,如下所示: ryu@ryu:~$ node [1G[0J> [3G 有没有人知道为什么这样做?

Node.js提示'>'不能在eshell中显示

我想在eshell中运行Node.js,但提示不正确: 那么,我该如何解决这个问题呢?

我可以使用swank-js在js2模式下完成node.js API吗?

我在emacs中以js2模式使用swank-js。 我可以使用它来完成node.js内置或第三方API,如fs.readFile , fs.writeFile , express.use , async.forEach等在js2模式? 如果是,那么最好的设置是什么? 任何帮助表示赞赏:)

如何在Windows上的Emacs中交互地运行node.js

我认为这将工作: (defun my-node () (interactive) (pop-to-buffer (make-comint "my-node" "node"))) 但是当我做Mx my-node并且在comint缓冲区中input1+1时,它不显示任何输出。 这是在Windows 7上的Emacs 24.0.50.1,NodeJS没有任何特殊的configuration。 像在Mx compile RET node hello-world.js RET一样非交互调用node.js Mx compile RET node hello-world.js RET工作正常。 在cmd交互方式运行node工作正常。 这可能是相关的:当我运行Mx shell并在shell缓冲区中inputnode ,然后input1+1 ,它不显示结果。 我必须错过一些非常基本的东西。 更新: 可能相关: emacs / Python:在行缓冲模式和块缓冲模式下运行python-shell – 堆栈溢出