在命令行上评估 emacs lisp 表达式

2024-02-11

我是 emacs 的新手。我正在 redhat linux 上使用 emacs-24.1,并尝试评估 elisp 表达式。我想要 emacs 做的是评估 elisp 表达式而不启动 emacs 本身。我正在尝试不同的事情

emacs --eval '(+ 2 3)'

我不知道 emacs 是否正在计算表达式,但结果没有显示在控制台上,并且出现了 emacs 窗口。接下来我尝试了这个

emacsclient --eval '(+ 2 3)'

Emacs 客户端正在等待服务器。它找不到服务器,因此抛出错误(找不到套接字。启动服务器等)。所以我启动了一个服务器(服务器名称是SERVER)并再次运行emacsclient

emacsclient --server-file=SERVER -e '(+ 2 3)'

这次,emacs 计算表达式并将结果打印在控制台上。这是因为 emacs 使用现有服务器来计算表达式。现在当服务器未运行时我遇到问题。

emacsclient --server-file=ANOTHER_SERVER -e '(+ 2 3)' -a emacs

这次,我在控制台上没有收到任何错误。 Emacs 正在启动一个新窗口,因为 -a (我的 .emacs 中有 (server-start) 命令,并且服务器名称设置为 ANOTHER_SERVER)。但是 emacs 然后尝试编辑该文件(+ 2 3)。它显示在模式行上。我很困惑。 emacsclient --help 向我展示了这个

-e, --eval              Evaluate the FILE arguments as ELisp expressions

emacs 手册是这么说的。

'-e'
'--eval'
Tell Emacs to evaluate some Emacs Lisp code, instead of visiting some files.
When this option is given, the arguments to emacsclient are interpreted as a
list of expressions to evaluate, not as a list of files to visit.

我不知道如何继续下去。正如我所说,我的目标是在不启动 emacs 的情况下评估 elisp 表达式。是否可以?


经过一些测试后看起来你可以使用--batch让 emacs 将任何消息转储到 stderr。然后你可以打电话message将内容打印到 stderr,您可以在其中看到它们。你的例子会变成emacs --batch --eval '(message (number-to-string (+ 2 3)))'结果将打印到 stderr。

如果您尝试将输出重定向到文件,则需要使用以下命令重定向 stderr 而不是 stdout2>而不是仅仅>.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在命令行上评估 emacs lisp 表达式 的相关文章

随机推荐

  • Linux 内核如何知道应该从系统调用路径参数中读取多少字节?

    我在google上搜索发现Linux内核使用结构体来存储变量 define EMBEDDED LEVELS 2 struct nameidata struct path path struct qstr last struct path r
  • 生成通用列表的组合

    我需要从另一个列表创建一个列表 其中包含所有可能的组合 在研究可能的解决方案时 我发现了许多有趣的方法 但所有方法似乎都是根据提供的记录计数生成结果 我需要将组合增加到最大阈值 即考虑以下数组 1 2 3 4 5 我需要结果看起来类似于 本
  • Xdebug 在 MAMP 中不起作用

    我安装了 PHP 5 5 3 的 MAMP 我的 php ini 文件 MAMP conf php5 5 3 php ini 的结尾是这样的 OPcache zend extension Applications MAMP bin php
  • 使用 td 属性计算乘积之和

    我有这张表 table thead tr th Quantity th th nbsp th th Price th th Sum th tr thead tbody tr class sum td td tr tbody table
  • SOA:跨多个服务连接数据

    假设我们有 2 项服务 产品和订单 根据我对SOA的理解 我知道每个服务都可以有自己的数据存储 一个单独的数据库 或者同一数据库中的一组表 但任何服务都不允许直接接触另一个服务的数据存储 现在 假设我们已将产品和订单数据独立存储在产品和订单
  • Python Dash:将 pandas 数据帧加载到数据表中

    我一直在尝试构建一个应用程序Dash https plot ly products dash 最近 尽管浏览了许多指南 我还是无法弄清楚如何将 pandas 数据框导入到 Dash 的数据表中 本质上是一个 pandas 数据框 除了网络托
  • 是否应该将 AssemblyInfo.cs 置于版本控制中?

    我有一个使用 CruiseControl 的自动构建系统 我正在使用 SvnRevisionLabeller 来获取要使用的版本字符串 有了这个字符串 我可以使用 nant 更新 AssemblyInfo cs 这样当我构建时它就有正确的构
  • 绘制完后如何删除所有形状

    从这里参考来源谷歌地图绘图工具 http code google com p gmaps samples v3 source browse trunk drawing drawing tools html r 282 如何一键删除所有绘图形
  • 调用另一个 lisp 文件中的函数

    我必须用 Lisp 写一个游戏 为了清楚起见 我想将代码拆分到不同的 lisp 文件中 如何从另一个文件中的函数中调用函数 例如 file1 lisp 有一个名为 function1 的函数 file2 lisp 有一个名为 functio
  • 如何测试 Web 应用程序中的上下文菜单功能?

    我正在使用一个有上下文菜单 右键单击 的 grails 应用程序 上下文菜单是使用 Chris Domigan 构建的jquery 上下文菜单插件 http www trendskitchens co nz jquery contextme
  • 我们如何使用 Cake 构建对安全的 NuGet 服务器进行身份验证?

    我们正在致力于使用 Cake Build 实现构建自动化 并使用 nuget org 中的 NuGet 包 但我们也有自己的 NuGet Feed 服务器 该服务器具有用户名 密码身份验证来访问 我们如何将 Cake Build 与具有身份
  • ImportError:无法在 Google Cloud Language API 中导入名称语言

    我正在尝试使用 Google Natural Language API 中的示例代码来获取情绪分数 但是 每次运行代码时 我都会收到 ImportError 无法导入名称语言 第一行错误 我已经 pip 安装了该库 尝试卸载并重新安装 在控
  • 如何在 Hive 中访问 HBase 表,反之亦然?

    作为一名开发人员 我通过使用以下命令从现有 MySQL 表导入数据 为我们的项目创建了 HBase 表 sqoop job 问题是我们的数据分析师团队熟悉MySQL语法 意味着他们可以查询HIVE轻松上桌 对于他们 我需要在 HIVE 中公
  • 带 Spannable 的按钮 setText 不适用于 Android 5.0 Lollipop

    我有一个简单的Button
  • 正确使用数据上下文的“Using”语句

    我正在使用 Linq to Entities 最近我发现很多人建议将数据上下文包装在 using 语句中 如下所示 Using DataContext db new DataContext var xx db customers 这是有道理
  • 如何将 SPARQL 发布到 Virtuoso?

    我正在使用两种不同的HTTP POST公用事业 poster https addons mozilla org en US firefox addon poster 从 Firefox 以及Python requests http docs
  • Swing - 如何*现在*抓住焦点?

    如何指示我的 Swing 组件获取焦点现在 requestFocus 好像没有立即发送 理想情况下 我想要这个 从 EDT 运行 textInput requestFocusInWindow System out println textI
  • CLI 模式下的 PHP APC

    PHP中的APC模块在CLI模式下运行时是否支持代码优化 例如 当我运行一个文件时php f
  • XmlMassUpdate - 替换值节点

    我正在尝试使用 XmlMassUpdate 根据构建版本类型更新我的配置文件 似乎没有关于如何在任何地方更新新的 app config vs2008 设置格式的文档 这是配置部分
  • 在命令行上评估 emacs lisp 表达式

    我是 emacs 的新手 我正在 redhat linux 上使用 emacs 24 1 并尝试评估 elisp 表达式 我想要 emacs 做的是评估 elisp 表达式而不启动 emacs 本身 我正在尝试不同的事情 emacs eva