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

emacs - 在 Emacs 中,如何更改 minibuffer 完成列表窗口?

我想为 minibuffer 完成列表设置一个特定的窗口。目前,我在此配置中有 3 个窗口:

在这种情况下,我想使用左下角的窗口作为 minibuffer 完成列表。

目前,它似乎是一个随机的窗口,并且大多数时候它喜欢使用最右边的窗口,它太薄而无法显示完成列表而我不必水平滚动,这很烦人。

另外,当我加载 Emacs 时,我正在使用一个名为revive.el的 lisp 脚本从文件 (~/.revive.el)中恢复我的窗口配置。

0 投票
6 回答
3091 浏览

emacs - 我可以在任何地方使用 ido-completing-read 而不是 complete-read 吗?

我是 . 的忠实粉丝ido-mode,以至于我想将它用于诸如describe-function或之类的事情find-tag,而不必编写类似“我可以在 Emacs 中搜索标签的 ido-mode 样式完成吗?”中的内容。每一个人。

两个都

不起作用,至少部分是因为ido-completing-read调用completing-read了它的主体,所以任何简单的重新定义都会导致无限递归。

从理论上讲,它应该是可能的,因为文档字符串的第一行ido-completing-read是“内置的 Ido 替换completing-read”。我环顾四周,似乎找不到其他尝试或成功的人。

我意识到Icicles可能提供了类似的东西,我可能最终还是会使用它,但这比我现在想采取的更冒险。

谢谢你的帮助。

0 投票
2 回答
4604 浏览

emacs - Emacs中的`global-set-key`和`define-key global-map`有什么区别

如果你有两个片段:

两者有区别吗?如果是这样,您什么时候会使用其中一种?

0 投票
2 回答
16952 浏览

syntax - 如何在 elisp 'if' 语句中编写多个语句?

在 elisp 中,有一个“如果”的情况,我想执行许多不同的事情:

但是, (do-something-else) 仅在 else-case 中执行。如何指定要执行的指令块?例如:

0 投票
1 回答
1557 浏览

xml - 在 emacs XML 模式下,如何格式化 XML 模式文件?

我想自动格式化 XML 模式定义文件。所有正常的漂亮打印内容:结束元素后的换行符,缩进。我已经看过这个答案这个 elisp,它为我提供了基础知识。但是,除了那里的内容之外,我还想在尖括号内的属性之间换行。

像这样。前:

后:

任何人都可以建议一些可以排列 = 的 elisp 吗?

0 投票
3 回答
1641 浏览

emacs - 我如何在 elisp 中判断 Emacs 是否使用 X?

我的 .emacs 中有一些我不想在运行时运行的项目emacs -nw。如果是这种情况,我如何在 elisp 中判断?

(编辑将 -nox 更改为 -nw --- 我的大脑在哪里?)

0 投票
1 回答
1826 浏览

emacs - 在 emacs 中,如何仅突出显示当前帧中的当前行?

在 Emacs(Mac Leopard 上为 23)中,我发现了如何使用 hl-line-mode 突出显示当前行,但是当在所有缓冲区中全局使用它时,它会突出显示所有帧中所有缓冲区中的当前行。

我希望能够仅在当前活动的缓冲区中突出显示当前行(或至少有不同的面)。我确信这在某种程度上必须是可能的,因为光标的变化取决于缓冲区是否是当前缓冲区。

谢谢

单调

0 投票
3 回答
24150 浏览

emacs - 如何使用 Emacs Lisp 检查文件是否存在?

我希望 emacs 将打开时生成的文件标记为只读。我缺少的部分难题是如何检查文件是否“存在”。我目前有以下内容:

我可以为“???文件存在???”使用什么?

一旦我找到这个,我会添加“mark-read-only”到适当的钩子(我认为是 find-file-hook)。

背景

我们使用lzz作为代码生成器来简化我们的 C/C++ 开发过程。简而言之,lzz 采用单个输入文件(看起来很像 C/C++)并根据需要生成头文件和源文件。

默认情况下,lzz 包含#line 指令,以便调试器指向原始源而不是生成的源,但是,为了减少编译依赖性,我们通常在头文件中禁用这些指令。结果是在调试模板或内联函数时,调试器通常指向生成的头文件而不是原始源文件。

这没什么大不了的,但是,最近我发现在调试时我会快速修改显示的文件,然后我会重建。当然,这通常意味着我所做的更改会消失,因为我编辑的文件已生成,因此在库重建期间更改会“被吹走”。

解决方案

感谢大家的帮助和评论。特别感谢cobbal指出要使用的正确功能。

这是生成的代码(也根据此处的其他评论进行了更新):

0 投票
8 回答
4522 浏览

macos - Emacs 23、OS X、多 tty 和 emacsclient

如何让 emacs 23 在 OS X 上的多 tty 模式下正常工作?

我已经添加(server-start)到我的 .emacs 中,并且发现运行/Applications/Emacs.app/Contents/MacOS/bin/emacsclient -n ~/myfile.txt会在我的 emacs.app 中打开它,但它不会将 emacs 带到前面。

那么,当我运行 emacsclient 时,如何让 emacs.app 出现在最前面呢?(我考虑过编写一个函数,每次打开文件时将当前帧放在前面,或者可能编写一个 Applescript 来完成可以与 emacsclient 同时调用的类似工作)

emacs.app 中的 emacsclient 是最好用的吗?如果是这样,我想我会给它写一个别名,但是使用它而不是 /usr/local/bin 中的东西似乎很奇怪

有没有人有任何其他的提示或例子来让这个工作?

0 投票
1 回答
182 浏览

windows - 修改 mode-compile.el 以处理带有嵌入空格的 MS-Windows 路径?

任何人都可以建议修改 mode-compile.el 以使其在 Windows 上更好地工作吗?我的具体问题是处理包含空格的路径名。我正在使用 Ruby 中的代码,使用“GNU Emacs 22.2.1 (i386-mingw-nt5.1.2600) of 2008-03-26 on RELEASE”,mode-compile.el 版本:2.29(最后修改:2006/12 /01 13:52:47)

mode-compile.el 生成的用于编译(运行)我的缓冲区 a.rb 的命令行是这样的:

c:/ruby/bin\ruby.exe -wc:/Documents and Settings/William/My Documents/src/a.rb

这会产生此错误:

c:/ruby/bin\ruby.exe: 没有这样的文件或目录 -- c:/Documents (LoadError)

这工作得很好:

c:/ruby/bin\ruby.exe -w "c:/Documents and Settings/William/My Documents/src/a.rb"

作为一种解决方法,我可以移动我的目录树,以便路径没有嵌入的空白。查看 mode-compile.el 中的代码,似乎已经存在一个添加引号的函数,但是,由于我不精通 emacs-lisp,也许这实际上做了一些完全不同的事情(比如只是附加一个几乎空的双引号的par):

(if to-compile-fname (if mc--build-op-args (mc--build-output-args to-compile-fname) (concat " " to-compile-fname) ) " "))))

mode-compile.el 来自这里: http: //perso.tls.cena.fr/boubaker/distrib/mode-compile.el

提前致谢!

威廉