问题标签 [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 投票
2 回答
778 浏览

emacs - 如何仅针对 Emacs 中的特定模式或缓冲区过滤编译输出?

我有一个html-mode启用的 HTML 页面。我调用函数sgml-validate来检查任何标记错误。它基于compilation-mode. 我想从编译输出中删除一些警告,所以我编写了一个函数并将其挂钩compilation-filter-hook(此变量未记录,但compilation-filter会调用它)。一切正常。我的问题是,如何确保仅在 HTML 页面(通过sgml-validate)上开始编译过程时才调用我的过滤器函数?

我看到了两种方法,但都没有奏效:

  • 首先,我可以检查 的值major-mode。但它总是返回compilation-mode,因为在*compilation*缓冲区上启用了它。(我在 的源代码中grep+找到了一个过滤器函数,他们确实检查了 的值major-mode。我不知道它是如何正常工作的。)
  • 另一个想法是仅将我的过滤器函数挂钩到 HTML 文件的缓冲区,但由于类似的原因,它无法工作,因为编译过程的输出进入单独的缓冲区。
0 投票
5 回答
3960 浏览

emacs - Emacs Lisp 语法高亮

我想为 Emacs 编写一个语法高亮扩展,但我在谷歌上搜索“emacs 语法高亮教程”的变体都失败了。如何开始学习如何编写 Emacs 荧光笔?有什么好的资源来学习如何做这些事情?

0 投票
2 回答
1319 浏览

emacs - 如何在渲染 emacs 框架后运行命令?

我试图弄清楚如何使用 Emacs 代码浏览器 (ECB),你可以用它做的一件事是设置 ecb-windows-width 来决定 ecb 窗口的宽度。问题是这个序列:

  1. 屏幕上弹出框架。
  2. ecb-activate 被调用,根据 ecb-windows-width 进行缩放。
  3. 默认帧列表参数启动,帧被调整大小。

问题是由于这个顺序,ecb 窗口的宽度是在框架调整大小之前设置的,然后不会被缩放。

所以我想运行ecb-redraw-layout(或者理想情况下只是ecb-activate),但它必须在#3之后发生。否则,某种 ecb-dynamic-width-scale 选项也可以使用。

对于它的价值,ecb-auto-activate 不起作用,所以我不知道这是否能解决它。

0 投票
2 回答
1277 浏览

emacs - 如何在 Emacs 中拦截 Ctrl-G

Ctrl我有一个 Emacs 的 elisp 脚本,如果用户点击+ ,我想对其进行一些清理G。我使用 'read-event' 来捕获所有事件,但这不会捕获Ctrl+ G。当Ctrl+G被击中时,它只是停止执行。

在 XEmacs 中,当您调用 next-command-event 时,它将为您提供所有事件,包括用户点击Ctrl+的时间G。在 Emacs 中必须有一些等价物。

0 投票
11 回答
22044 浏览

windows - Emacs - 调用时出错(服务器启动)

我目前在 Windows Vista SP1 中使用 GNU Emacs 23.0.93.1。在我的 .emacs 文件中,我调用(server-start)并导致消息错误The directory ~/.emacs.d/server is unsafe。有没有人看到这个并知道修复或解决方法?...除了关闭服务器;)

这是堆栈跟踪:

0 投票
2 回答
1034 浏览

emacs - 在 emacs 中打开 xml 文件时运行 sgml-pretty-print?

我目前可以使用 sgml-pretty-print 在 emacs 中漂亮地打印一个 xml 文件,但这是一个手动过程:

  1. M-<
  2. C空间
  3. 米->
  4. Mx sgml-漂亮的打印

我希望这会自动发生(或者至少有一些选择这样做)。我是 emacs/elisp 的新手,不明白如何:

  1. 当您打开文件时,emacs 知道要运行什么代码(这是否从 files.el 开始?)
  2. 如果您想用自己的代码覆盖该代码,该怎么做
0 投票
4 回答
3327 浏览

emacs - 如何在 Emacs 中将光标固定到屏幕中间,以便页面移动,而不是光标?

我想将光标固定在屏幕的中心线上,这样当我按下 Ctrl-N 或 Ctrl-P 时,页面本身会向上或向下移动,并且光标保持不动。

有没有人对如何实现这一目标有任何提示?

谢谢

埃德

0 投票
2 回答
2121 浏览

emacs - Emacs Lisp:如何避免插入重复的列表项?

如何检查字符串是否已经在 Emacs Lisp 的列表中?我需要检查某个路径字符串是否已经存在exec-path,如果不是,则将其添加到该列表中。

0 投票
7 回答
1871 浏览

emacs - 学习 Emacs 的资源

我想学习 Emacs,想知道是否有人可以推荐任何好的资源(免费或其他)。我最感兴趣的是编程 Emacs,从基础开始,还有很多“练习”。我使用过 Emacs 和它的大部分编辑功能,虽然我有点生疏,所以快速复习一下也会很有用。

谢谢

编辑:感谢您的建议。我会看看并更新我喜欢的东西......

0 投票
7 回答
1080 浏览

emacs - 如何发现细微的 Lisp 语法错误?

我是一个使用 Lisp(实际上是 Emacs Lisp)的新手。这很有趣,除非我似乎一次又一次地遇到相同的语法错误。

例如,这是我多次遇到的情况。我有一些cond形式,比如

并且返回的默认子句xyzzy永远不会执行,因为它实际上嵌套在前一个子句中:

当缩进的差异只有一个空格时,我很难看到这样的错误。随着时间的推移,这会变得更容易吗?

当(错误)缩进线和它应该缩进的线之间的距离很大时,我也会遇到问题。let例如,具有许多复杂绑定的unless表单,或具有长条件的表单:

事实证明xyzzy根本不在unless表单内:

我习惯性地自动缩进并使用括号突出显示来避免计算括号。在大多数情况下,它的工作就像轻而易举,但偶尔,我只是通过调试才发现我的语法错误。我能做些什么?