问题标签 [elisp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
3417 浏览

emacs - 使用 Emacs 缩进(移位 4)代码

我使用ViewSourceWith 和 Emacs编辑我的 StackOverflow 答案和问题。通常,我包含代码并且StackOverflow 格式规则 说它必须缩进四个空格才能被识别为这样。手动甚至使用宏都是痛苦的。

我搜索了 SO 以前的帖子,但一无所获。

从 Python 模式开始,我写道:

它似乎有效,但我欢迎建议、替代方案、错误报告等。

0 投票
6 回答
8320 浏览

url - 如何在 Emacs Lisp 中“URL 解码”字符串?

我有一个像“foo%20bar”这样的字符串,我想要“foo bar”。

我知道必须有一个内置函数来解码 Emacs Lisp 中的 URL 编码字符串(查询字符串),但是对于我的生活,我今天找不到它,无论是在我的lisp/文件夹中还是在 Google 中。

这叫什么?

0 投票
3 回答
5072 浏览

emacs - Emacs 命令在光标上方插入和缩进行

当我意识到我需要(ed)在上面的行上定义变量(或类似的东西)时,我经常发现自己在一行上打字。我想要的是

  1. 从一行的任意位置按 C-return 并让光标移动到上面新插入的空白行,缩进正确(或至少与原始行相同)。
  2. 可以拉出任何文本...
  3. 和 Cu C 空间回到原来的位置

我已经做到了#1,但是我的 emacs-fu 不够强大,无法完成其余的工作。

0 投票
4 回答
2234 浏览

macros - 你能在 Emacs Lisp 宏中创建交互式函数吗?

我正在尝试在 emacs lisp 中编写一个宏来创建一些“辅助函数”。</p>

最终,我的辅助函数将比我这里的更有用。我意识到可能有更好/更直观的方法来完成同样的事情(请发布),但我的基本问题是为什么这不起作用/我做错了什么:

如果我获取宏扩展的输出并对其进行评估,我将获得我打算通过宏获得的交互式函数,但即使宏运行并且似乎正在评估,我也无法调用M-x text-nior text-swallow

0 投票
2 回答
2929 浏览

lisp - elisp 函数作为参数和返回值

我有以下代码

一个电话

在 SBCL 中返回 55.0(正确值),但在 emacs lisp 中因以下堆栈而崩溃

我怎样才能让它在 Emacs lisp 中工作?

0 投票
3 回答
5680 浏览

git - 在 git 中切换分支时,如何让 Emacs 恢复所有未更改的缓冲区?

通常,当我在 git 中切换分支时,如果文件在 emacs 中打开,那么即使内容相同,emacs 也会询问我是否要还原它们(因为它认为它们在磁盘上已更改)。

首先,如果磁盘上的内容与缓冲区中的内容相同,我想找到一种让emacs根本不问我的方法。

其次,我想要一个命令,它可以还原(不查询)我所有没有未保存更改的打开缓冲区,并询问我那些确实有未保存更改的缓冲区。

或者,我愿意接受有关我可以尝试的其他解决方案、工作方式等的建议。如果人们可以指点我从哪里开始,我会很高兴编写 emacs-lisp。

PS 如果这很重要,我在 OSX 上使用 Aquamacs。

编辑:

好吧,我发现 revbuffs 包几乎是我所需要的。当然足以阻止我想尝试自己写任何新东西。(我将 revbuffs 映射到 Cmd-R,效果很好。有点类似于其他 Mac 应用程序中的 Cmd-R)。

全局自动还原模式将是一个非常好的解决方案,我希望我可以选择两个答案。我更喜欢 revbuffs 仅仅是因为一种可能是非理性的想要控制所发生的事情的感觉。

我有点猜测,如果我从 emacs 中访问 git,那么它可能会更容易处理,但我目前更喜欢通过命令行访问 git。(我使用 emacs 的时间还不够长,无法将其作为我的操作系统)。不过,我会更彻底地调查 magit。

编辑2:

我已经使用 magit 一年了,强烈推荐它在 emacs 中处理 git。但是,每当我在 emacs 之外进行 rebase 时,我仍然使用 revbuffs。

0 投票
1 回答
1589 浏览

email - 在 Emacs 程序中发送电子邮件

有没有办法从区域或缓冲区构建电子邮件消息,设置收件人,然后以 elisp 代码发送消息?

我已将 emacs 配置为通过我的gmail 帐户发送邮件,并且我希望能够从 elisp 程序向自己发送电子邮件。使用的命令是消息邮件。

0 投票
7 回答
1409 浏览

emacs - 如何获得基本的 App<->Emacs 集成?

有很多应用程序将 Emacs 与外部进程集成在一起。GDB 是我想到的。我可以从 emacs 控制 GDB,然后在屏幕上获得反馈。

我想用我的应用程序朝这个方向做点什么。

这就是我想要的:

  • 在我和emacs之间建立连接。我可能会启动一个新的 emacs 进程并将其添加到我的 GUI 中
  • 告诉 emacs 显示一个文件。(使用 emacsclient 很容易)
  • 告诉emacs滚动到特定行号的中心并hilite或只是将光标移动到那里。
    • 可能真正的问题是如何从我的外部应用程序发送任意 elisp 代码以供 emacs 执行。
    • 我不会说 elisp,但这将是一个很好的学习借口
  • 在 emacs 缓冲区中提供一些可点击区域,这些区域在触发时会向我的应用程序发送一条消息。
    • 即使没有可点击性,发送消息的键绑定也是一个开始。(但我知道可点击的东西是可能的,所以我问)

我知道这一切都是可能的(在 emacs 中什么是不可能的?),但我只是不知道从哪里开始搜索。

0 投票
2 回答
297 浏览

emacs - 为什么这个 Emacs Lisp 片段会破坏 list-colors-display?

我喜欢 Emacs 使用尾随空白面突出显示制表符,我将其设置为背景颜色的稍微灰色的版本。这样,我认为不需要的所有空格(制表符和尾随空格)都将具有略带灰色的背景。

这是我使用的代码:

但是,它似乎破坏了 list-colors-display:这个函数仍然列出所有颜色,但它们是单色的。我没有得到它应该提供的令人眼花缭乱的光谱。

为什么会这样?可以修复吗?

0 投票
4 回答
4712 浏览

emacs - 如何应用新的 Emacs C 样式来重新格式化所有源文件?

我想使用适用于 emacs 的 Google 格式化功能重新格式化所有源文件:google-c-style.el(请参见此处)。

如何一次将此功能应用于我的所有源文件,以便它们都根据 Google 样式正确格式化和缩进?