Emacs

使用,扩展或开发Emacs的人员的问答


1
如何插入带有特定面孔的文字?
我有一张脸,是这样创建的: (defface test-face '((t . (:height 2.0))) "A face for testing.") 我想在那张脸上插入一些文字。但是这些方法可以插入没有表情的文本: (insert (propertize "text to insert" 'face 'test-face)) (let ((current-string "text to insert")) (put-text-property 1 (length current-string) 'face 'test-face) (insert current-string)) 甚至首先插入文本,然后再将其插入上面也不起作用: (progn (insert "text to insert") (add-text-properties (save-excursion (backward-word 3) (point)) (point) '(face test-face))) 问题不在于面部的清晰度,因为如果我要自定义它,它的高度已经是原来的两倍。即使这样,将脸部内衬也行不通: (insert (propertize "to …
15 faces  insert 

3
组织模式下的标签和参考LaTeX方程
这类似于Org导出到乳胶和HTML参考,但用于方程式。 我喜欢在组织文件中使用LaTeX数学片段,如下所示: * The Quadratic Equation The roots of $ax^2 + bx + c$ are given by \begin{equation} \label{eq:1} x = \frac{-b \pm \sqrt{b^2-4ac}}{2a} \end{equation} According to Equation \ref{eq:1}, ... 当我导出到LaTeX时,\ref{eq:1}正确地变成了方程的超链接。但我想实现以下其他行为: 在org文件中,我可以单击文本\ref{eq:1}(文本不必是\ref{eq:1},我只需要一个超链接),然后转到等式。标头具有此功能,因为[[The Quadratic Equation]]在组织模式下可以单击。 导出为HTML时,我希望保留引用(实际上,标签(1)甚至没有出现在HTML导出中)。 有没有办法做到这一点?
15 org-mode  latex 

2
单引号和逗号引号的含义是什么?(引号,arg)
(quote x)使x不被评估,但在内的,前面添加一个使其被评估。那么使用带引号的单引号前面有逗号的意义是什么?xquote(quote ,x) 由第59行的恼人箭头所激发: (put (quote ,cmd) 'aa--alts ,alternatives) 为什么不(put cmd 'aa-alts ,alternatives)一样好?
15 elisp  backquote 

3
有什么方法只能运行一次挂钩函数吗?
上下文 我正在使用after-make-frame-functions挂钩在emacs客户端/服务器配置中正确加载主题。具体来说,这是我用来创建代码段(基于此SO答案): (if (daemonp) (add-hook 'after-make-frame-functions (lambda (frame) (select-frame frame) (load-theme 'monokai t) ;; setup the smart-mode-line and its theme (sml/setup))) (progn (load-theme 'monokai t) (sml/setup))) 问题 当emacsclient -c/t开始新的会话时,不仅在新框架中,而且还在所有先前存在的框架(其他emacsclient会话)中执行挂钩,这会产生非常烦人的视觉效果(在所有那些框架中再次加载主题)。更糟糕的是,在终端中已经打开的客户端的主题颜色就完全混乱了。显然,这仅在连接到同一emacs服务器的emacs客户端上发生。出现这种现象的原因很明显,该挂钩在服务器上运行,并且其所有客户端都受到影响。 问题 有什么方法可以只执行一次此功能,也可以不使用钩子而获得相同的结果吗? 部分解决方案 由于@Drew的回答,我现在有了这段代码。但是仍然存在问题,一旦在终端中启动客户端会话,GUI将无法正确加载主题,反之亦然。经过大量测试,我意识到其行为取决于首先启动哪个emacsclient,并且丢弃各种东西后,我认为它可能与所加载的调色板有关。如果您手动重新加载主题,那么一切都可以正常工作,这就是为什么每次在钩子上调用函数时都不会出现此行为的原因,就像在我的初始配置中一样。 (defun emacsclient-setup-theme-function (frame) (progn (select-frame frame) (load-theme 'monokai t) ;; setup the smart-mode-line and its theme (sml/setup) …

1
“对于c没有org-babel-execute函数”和“对于c ++没有org-babel-execute函数”
我的emacs版本是24.3.1。 我了解我必须将ob-C.el(可从此处获得)放在Emacs可以读取它的路径中。 我首先将代码从该.el文件复制粘贴到我的.emacs文件中,然后重新启动emacs。然后我去了C代码块(在org文件中)并尝试执行它(使用Cc Cc)。迷你缓冲区说“ C没有org-babel-execute函数”。试图执行C ++代码块也出现了同样的情况。请注意,R和python从我的org文件中评估完美。问题似乎仅在于这些编译语言。 然后,我尝试将这个ob-C.el放入〜/ .emacs.d目录中,以查看是否有帮助。重新启动emacs并检查。它没有用。 然后我尝试将其放入目录〜/ .emacs.d / lisp并将以下行添加到我的.emacs文件中 (add-to-list 'load-path "~/.emacs.d/lisp/") (load "ob-C.el") (require 'ob-C) 重新启动emacs之后,无法从组织文件中评估C或C ++代码块。我不断收到相同的错误“对于C没有org-babel执行功能”或“对于C ++没有org-babel执行功能”。 更新资料 我将emacs版本升级到24.5,删除了〜/ .emacs.d目录中所有以前的elpa和melpa子目录。怀疑这与我下达订单的顺序有关 (custom-set-variables '(org-babel-load-languages (quote ((emacs-lisp . t) (C . t) (css . t) (sh . t) (awk . t) (R . t)))) 和 ;; load the …
15 org-babel 

3
将文本缓冲区转换为pdf文件?
我们如何将当前的文本缓冲区转换为pdf文件,最好将那些以*开头的标题转换为pdf文件的书签。例如,将Emacs集成教程(由Ch t显示)转换为书签的pdf文件。谢谢。
15 pdf 

1
在Ubuntu Xenial上使用Emacs 25和GnuPG 2.1启用minibuffer pinentry
我必须通过文档和论坛进行一些潜水和狩猎,所以我认为我不妨在这里为其他人做一个问答: 如何在小缓冲区中启用GnuPG密码提示?Emacs 25.1更新日志说: ** pinentry.el允许通过迷你缓冲区而不是图形对话框提示GnuPG密码,具体取决于是否从Emacs调用了gpg命令(即,设置了INSIDE_EMACS环境变量)。此功能需要较新版本的GnuPG(2.1.5或更高版本)和Pinentry(0.9.5或更高版本)。要使用此功能,请将“ allow-emacs-pinentry”添加到“〜/ .gnupg / gpg-agent.conf”,然后使用“ gpgconf --reload gpg-agent”重新加载配置。 这样做,我现在收到一条错误消息,甚至没有图形密码提示。 这是Lubuntu(Ubuntu Xenial)上具有GnuPG 2.1.11的GNU Emacs 25.2.2。
14 gpg  passwords  epa 

1
为什么setq和set quote在具有词法作用域的让界变量上有不同的作用?
我的一个扩展程序中存在一个错误,最终导致该错误是由于set我没有按预期工作: ;; -*- lexical-binding: t -*- (let ((a nil)) (setq a t) (print a)) (let ((a nil)) (set 'a t) (print a)) 与emacs -Q --batch -l temp.el打印一起运行时: t nil 这对我来说似乎很奇怪。我的印象(setq a b)是速记(set 'a b)。这是怎么回事?

3
Emacs中最长的已知键序列是什么?
Qt支持Emacs样式的键绑定,但是最多只支持四个键。为了说明为什么应该增加此限制,显示具有更多键的Emacs样式的键绑定示例很有用。是否有任何已知的示例,或者甚至可以以编程方式找到Emacs键映射中定义的长键序列? 编辑:我以为这是常识,但是一个键序列是由读取的一组键read-key-sequence。尝试F1 k寻找您的候选者,看看它是描述您的命令还是命令之前的无关命令。



1
在Emacs中的终端仿真器中获取8种以上的颜色
我的理解是,ansi-term只支持8种颜色(在reddit的一个很好的讨论,在这里)。 同时,越来越多的终端仿真器(例如OS X tmux或iTerm2OS X)支持True color(24位,即1600万种颜色)。一个很好的清单可以在这里找到。 如果8色帽专用于ansi-term,是否还有其他用于终端仿真的软件包试图解决此限制? 是否有计划为True colorEmacs中的终端仿真器提供支持? 也许要确认: 有什么办法可以有效地在ansi-term缓冲区中包含8种以上的颜色 ? ansi-color-names-vector还是ansi-term在Emacs中仍然建议使用调整颜色的方法25? 如何测试模拟器是否支持“ True color ”: 这是上面链接中的代码片段,用于测试模拟器是否支持“真彩色”: awk 'BEGIN{ s="/\\/\\/\\/\\/\\"; s=s s s s s s s s; for (colnum = 0; colnum<77; colnum++) { r = 255-(colnum*255/76); g = (colnum*510/76); b = (colnum*255/76); if (g>255) g = 510-g; …


2
组织Babel中的异步执行
是否有一个良好的org-babel通用定制可以异步运行?最近,我计划通过org-babel使用MATLAB,但由于某些计算确实需要时间,因此我希望以异步方式使用它。 我不想仅自定义ob-matlab。这是因为我认为应该在框架级别而不是在应用程序级别完成。换句话说,相同的修改应启用其他语言扩展(例如R语言)的异步功能。 有没有人有一个好的解决方案?到目前为止,我已经尝试async.el过以及deferred.el修改org-babel-execute-safely-maybe目前可以找到ob-core.el的内容。
14 org-babel  matlab 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.