问题标签 [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 回答
1684 浏览

emacs - 如何处理冲突的键绑定

paredit绑定M-<up>and M-<down>,但我希望windmove拥有这些键绑定。我将 paredit-mode 设置为仅在某些模式下激活,但 windmove 设置为全局运行。我希望 windmove 获胜,但 paredit 在加载时会窃取这些键绑定。

如何轻松阻止 paredit 踩踏 windmove 的键绑定?我一直在进入paredit.el并注释掉设置键绑定的行,但这远非理想(每次更新 paredit 时我都必须记住这样做)。

更一般地说,我可以在“保护”某些键绑定不被更改的同时加载一个 elisp 文件吗?

0 投票
2 回答
500 浏览

emacs - 当前版本的 Emacs calc 在哪里?

通过重新安装 Cygwin,我丢失了 Dave Gillespie 的 calc.el 安装。它不包含在 Emacs 的默认 Cygwin 安装中。现在谁被认为是主维护者?2.02f 版仍然是最新的吗?

0 投票
4 回答
1525 浏览

regex - Elisp 中的正则表达式包含换行符

我正在尝试在 emacs(python 模式)中向 Python 文档字符串添加特殊标记。

目前我可以提取一行:

这现在有效:

但是只要有一个换行符,例如:

它不再起作用了。这是合乎逻辑的,因为.不包括换行符 ( \n)。我应该使用字符类吗?

如何更正此正则表达式以包含 之间的所有内容""" """

提前致谢!

0 投票
2 回答
879 浏览

performance - Elisp 在 Windows 和 Linux 上的性能

我有以下简单的 elisp 函数;第一个从当前段落中删除填充中断,第二个循环遍历当前文档,依次将第一个应用于每个段落,实际上从文档中删除所有单个换行符。它在我使用 emacs 22.3 的低规格 Puppy Linux 机器上运行得很快(600 页 Thomas Aquinas 需要 10 秒),但是当我使用 emacs 21.3 使用功能强大的 Windows XP 机器时,它需要将近一个小时才能完成相同的文档。我该怎么做才能让它在带有 emacs 21.3 的 Windows 机器上运行?

原谅我可怜的elisp;我在学习 Lisp 并开始使用 emacs 的力量时玩得很开心,但我还是新手。

0 投票
6 回答
5107 浏览

emacs - Emacs 中改进的选项卡

我想覆盖 emacs 中错误的默认选项卡方案,以便它可以像大多数其他编辑器(eclipse、notepad++)一样工作。我想设置它,以便无论模式如何,选项卡都会插入一个选项卡,然后按 Enter 将使我保持当前的选项卡深度。

我试过这个,但它什么也没做:

0 投票
4 回答
1523 浏览

emacs - 修改缓冲区时如何运行 Emacs 挂钩?

建立在让 Emacs 在保存某些文件类型(并且只有那些文件类型)时取消制表符的基础上,我想在我开始修改缓冲区时运行一个挂钩来取消我的 C++ 文件的制表符。我尝试添加钩子以在加载时取消缓冲,但随后它取消了我所有在 emacs 启动时自动加载的可写文件。

(对于那些想知道我为什么这样做的人,这是因为我工作的地方强制在文件中使用制表符,我很乐意遵守。问题是我标记了我的文件以告诉我何时行太长,但正则表达式匹配行中的字符数,而不是行占用多少空间。一行中的 4 个制表符可以将其推到远远超过我的 132 个字符限制,但该行不会被正确标记。因此,我需要一种自动制表和取消制表的方法。)

0 投票
2 回答
1568 浏览

user-interface - 用于调用“GUI 样式”菜单的 Emacs Mx 命令

问题:在我的 Emacs 变体使用特定于操作系统的桌面功能的情况下,我如何才能找到在 Emacs 中执行基于 GUI 的操作的 Mx 等效命令?

背景:传统的理解是,Emacs 中的一切都是命令,只要知道命令的名称,就可以通过 Mx 调用命令。假设这个陈述是正确的,那么在基于“桌面”的 Emacs 变体中找到用于触发“GUI 样式”菜单的命令名称的方法是什么?

例如,如果我用鼠标选择文件菜单来打开一个文件,操作系统特定的“GUI”风格的文件打开对话框会弹出,等待我的输入。

我怎样才能找到做同样事情的 Mx 等效命令?

认为describe-key 会告诉我我需要知道的内容,但它指示使用:

不调用“GUI”样式的文件打开对话框。相反,它使用 Emacs 内部的非 GUI-OS-neutral 变体。

0 投票
6 回答
1080 浏览

eclipse - 改变backward-word和backward-kill-word的行为

我对“backward-word”和“backward-kill-word”命令的工作方式有一个小问题。当我在只有空格的行(例如,缩进行的第一个字符)上点击“backward-kill-word”时,该命令将杀死所有空格以及最后一个单词上一行。

这种行为对我来说完全不直观。我更喜欢它在 Eclipse 中的工作方式,例如,它会在第一次按下“backward-kill-word”时将空白字符杀死到行首,将移动到上一行的末尾在下一次命中时,才会开始从行尾开始杀死单词。

我很确定这种行为是大多数应用程序中的默认行为(因为它似乎更直观,这可能是因为我习惯了,但我不确定),所以我想知道是否有一种将 Emacs 配置为也具有此行为的方法。不幸的是,谷歌上的一些搜索结果一无所获。

谢谢

编辑:

感谢所有人的回答(包括我所要求的 elisp 代码)。

显然,使用 forward-kill-word 和移动命令也会出现同样的问题,我希望 emacs 中只有一些可配置的标志来改变行为,但看起来我只是要使用这些 elisp 函数并为这些重新绑定默认的移动和杀死命令。

0 投票
1 回答
1144 浏览

emacs - 用于替换文本的交互式 Emacs Lisp 函数的帮助

我已经使用 Emacs 几个月了,我想开始 elisp 编程。具体来说,我想编写自己的interactive函数。但是,我有点迷失了。(interactive ...)有很多选择,我不确定我想要哪一个。然后,我真的不知道我需要的函数的名称。如果有人能帮我把我的伪代码变成真正的代码,我将不胜感激!(和往常一样,任何指向信息丰富的地方的链接都会很好。现在我刚刚在读这个。

这是我想做的伪代码:

0 投票
3 回答
1543 浏览

emacs - 是否有一个 Emacs 变量可以关闭具有特定扩展名的文件的备份?

例如,在编辑各种数据文件时,备份数据是没有用的,实际上会绊倒我们的工具。所以我希望能够禁用名称中包含正则表达式的文件的备份。

贾斯汀