问题标签 [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.
emacs - 在 Emacs 中,如何更改 minibuffer 完成列表窗口?
我想为 minibuffer 完成列表设置一个特定的窗口。目前,我在此配置中有 3 个窗口:
在这种情况下,我想使用左下角的窗口作为 minibuffer 完成列表。
目前,它似乎是一个随机的窗口,并且大多数时候它喜欢使用最右边的窗口,它太薄而无法显示完成列表而我不必水平滚动,这很烦人。
另外,当我加载 Emacs 时,我正在使用一个名为revive.el的 lisp 脚本从文件 (~/.revive.el)中恢复我的窗口配置。
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可能提供了类似的东西,我可能最终还是会使用它,但这比我现在想采取的更冒险。
谢谢你的帮助。
emacs - Emacs中的`global-set-key`和`define-key global-map`有什么区别
如果你有两个片段:
和
两者有区别吗?如果是这样,您什么时候会使用其中一种?
syntax - 如何在 elisp 'if' 语句中编写多个语句?
在 elisp 中,有一个“如果”的情况,我想执行许多不同的事情:
但是, (do-something-else) 仅在 else-case 中执行。如何指定要执行的指令块?例如:
emacs - 我如何在 elisp 中判断 Emacs 是否使用 X?
我的 .emacs 中有一些我不想在运行时运行的项目emacs -nw
。如果是这种情况,我如何在 elisp 中判断?
(编辑将 -nox 更改为 -nw --- 我的大脑在哪里?)
emacs - 在 emacs 中,如何仅突出显示当前帧中的当前行?
在 Emacs(Mac Leopard 上为 23)中,我发现了如何使用 hl-line-mode 突出显示当前行,但是当在所有缓冲区中全局使用它时,它会突出显示所有帧中所有缓冲区中的当前行。
我希望能够仅在当前活动的缓冲区中突出显示当前行(或至少有不同的面)。我确信这在某种程度上必须是可能的,因为光标的变化取决于缓冲区是否是当前缓冲区。
谢谢
单调
emacs - 如何使用 Emacs Lisp 检查文件是否存在?
我希望 emacs 将打开时生成的文件标记为只读。我缺少的部分难题是如何检查文件是否“存在”。我目前有以下内容:
我可以为“???文件存在???”使用什么?
一旦我找到这个,我会添加“mark-read-only”到适当的钩子(我认为是 find-file-hook)。
背景
我们使用lzz作为代码生成器来简化我们的 C/C++ 开发过程。简而言之,lzz 采用单个输入文件(看起来很像 C/C++)并根据需要生成头文件和源文件。
默认情况下,lzz 包含#line 指令,以便调试器指向原始源而不是生成的源,但是,为了减少编译依赖性,我们通常在头文件中禁用这些指令。结果是在调试模板或内联函数时,调试器通常指向生成的头文件而不是原始源文件。
这没什么大不了的,但是,最近我发现在调试时我会快速修改显示的文件,然后我会重建。当然,这通常意味着我所做的更改会消失,因为我编辑的文件已生成,因此在库重建期间更改会“被吹走”。
解决方案
感谢大家的帮助和评论。特别感谢cobbal指出要使用的正确功能。
这是生成的代码(也根据此处的其他评论进行了更新):
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 中的东西似乎很奇怪
有没有人有任何其他的提示或例子来让这个工作?
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
提前致谢!
威廉