Emacs

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

1
TAB和<tab>有什么区别?
当我进入定义触发键的部分时,我正在阅读Yasnippet模式的文档: 似乎Yasnippet次要模式使用以下命令定义了TAB要运行的密钥yas-expand: (define-key yas-minor-mode-map (kbd "&lt;tab&gt;") 'yas-expand) (define-key yas-minor-mode-map (kbd "TAB") 'yas-expand) &lt;tab&gt;和之间有什么区别TAB?(我试图用谷歌搜索,但找不到清晰的描述)

4
如何在Emacs中为组织模式导出指定文件名?
我的组织文件名为README.org,我想导出到Markdown到名为的文件中README。每次运行导出时,都会写入README.md。这是我的组织文件: #+PROPERTY: EXPORT_FILE_NAME thing * Test export 我正在使用EXPORT_FILE_NAME基于以下链接的属性:http : //orgmode.org/manual/Export-settings.html#index-property_002c-EXPORT_005fFILE_005fNAME-1617,但它似乎没有任何作用。

2
是否可以一次打开多个议程视图?
我有一个自定义的议程视图,其中显示了我上周执行的项目以及本周必须执行的项目。该视图基于TODO项目的过滤器。但是,最好在另一个缓冲区中查看计划的项目和截止日期。 当然,我可以打开另一个emacs实例并在其中打开一个不同的议程,但是还有另一种方法可以使我可以在同一框架中但在不同的缓冲区中检查两个不同的议程视图吗?


3
错误显示行号
假设emacs引发了一些我不理解的错误。也许错误提示“符号的变量值无效:模式”,但是modes代码中出现了很多符号,因此我需要一些上下文。可以将Emacs配置为提及lisp代码的行号,以便我知道是什么代码导致了错误吗? 我尝试这样做(setq stack-trace-on-error '(buffer-read-only))并运行了永久代码,以获取堆栈跟踪。也没有堆栈跟踪。 我也尝试过调用edebug-defun我的函数并逐步执行它。直到我退出该函数后,才会引发错误。 (对于开发elisp的一般调试技能,我对当前遇到的特定错误的原因确实不那么感兴趣。请提供有关如何从行号,sexp或堆栈跟踪中获取信息的建议)错误。)

2
JSON的代码折叠扩展
我正在处理具有多个重复块且仅更改一个字段值(整数)的json文件-实际上,每个更改的值只是先前递增的对应值。为了使此类文件易于阅读,我希望能够将整个重复块集折叠成一个块,并在其中指明这些块中变化值的范围是多少。在emacs中搜索代码折叠方法,我发现hs-minor-mode和outline-mode。但是,我看不出如何从它们提供的功能过渡到我想要的功能。有人可以概述我如何实现这一目标吗? 编辑:我正在尝试做的一个例子: 给定一个看起来像这样的json文件: { "SomeArray": [ { "ChangingField": 1, "ConstantField" : "X" }, { "ChangingField": 2, "ConstantField" : "X" }, { "ChangingField": 3, "ConstantField" : "X" }, { "ChangingField": 4, "ConstantField" : "X" }, { "ChangingField": 5, "ConstantField" : "X" } ] } 我想这样显示它: { "SomeArray": [ { "ChangingField": 1...5, …

4
在Linux中的emacs -nw中使用Super
我一直在努力寻找答案的简单而直接的问题,因此我决定在这里提问。 问:有什么方法可以在Linux终端中启动的Emacs中使用Super? PS:我阅读了很多有关的信息,xmodmap但我认为关键是终端仿真器无法表示超级键。但是,(kbd "s-SPC")返回了一些内容,因此我想使用的翻译工具.Xdefaults/X。我在正确的道路上吗?给定的结果kbd,我需要将什么作为XTerm.VT100.translations放置?

2
如何让eshell记住sudo密码两分钟?
一般来说,运行时bash,当我运行sudo ...命令时,bash会记住我的密码一段时间。这使软件包管理任务更加容易。 例如: sudo apt-get update # password ...... sudo apt-get install turing-brain # execute without requiring password again. 是否有可能完成这项工作? (我知道term或者ansi-term在Emacs中都可以做到这一点。但是eshell与Emacs集成得更好。)
15 eshell 

3
更正和维护组织模式超链接
这是与链接腐烂有关的两部分问题。 组织模式是否提供任何用于验证超链接的功能,尤其是本地的?事实证明,这可以用来对抗链接腐烂。 更好的是,org是否提供功能,以便如果我将文件重命名为Dired,它将更新受影响的文件?这可以防止某些类型的链接腐烂发生,至少对于本地文件而言。
15 org-mode 

2
有没有办法以菊花链方式连接.dir-locals.el文件?
假设我有一个包含这些文件的目录。 /foo/bar/baz/.dir-locals.el /foo/bar/.dir-locals.el /foo/.dir-locals.el 当我要在中创建文件时/foo/bar/baz/,我想将它们以菊花链方式链接到一起,从而/foo/.dir-locals.el首先应用,然后再应用/foo/bar/.dir-locals.el,然后再应用。/foo/bar/baz/.dir-locals.el


3
命令用Magit访问当前分支的Github拉取请求
通常,在将给定分支推入上游之后,我想在github上访问它并创建拉取请求。我开始不得不手动访问存储库,找到分支并创建PR感到烦恼。 问:如何编写在浏览器中访问PR URL的命令? PR网址由提供https://github.com/ORIGIN-REPO/compare/BRANCH-NAME。由于两个origin和branch-name通过Magit(和普通知git),它应该很容易编写建立一个命令URL和电话browse-url就可以了。 不幸的是,我对Magit的内部运作一无所知,所以我不知道如何获取这些信息。
15 magit 

1
源代码块中的语法突出显示
我认为组织模式突出显示了具有相关模式的源代码块。因此,例如: #+BEGIN_SRC clojure (defn plus [a b] (+ a b)) #+END_SRC 如果使用Clojure缓冲区,则会突出显示语法,这将显示出来。 由于某种原因,我的设置仅以一个灰色单调显示以上示例。

2
将列表或数据结构转换为组织文档
我正在编写一个程序包,其中下载了将显示给用户的healines,内容和其他一些属性的列表。目前,org-mode缓冲区似乎是显示这些标题的好方法。 以下是此列表的结构示例。这仅仅是说明性的,我可以根据需要轻松地将其转换为任何其他结构。 '(("One headline" "Some much longer content." (property1 . value) (property2 . value)) ("Second headline" "More much longer content." (property1 . value) (property2 . value))) 是否存在将此类列表打印到org-mode缓冲区的函数或程序包? 这是所需的输出。 * One headline :PROPERTIES: :property1: value :property2: value :END: Some much longer content. * Second headline :PROPERTIES: :property1: value :property2: value :END: …
15 org-mode 

2
函数或宏可以指定字节编译器警告吗?
我正在编写一个函数,该函数原则上接受任意数量的参数。但是,实际上,它只能传递 偶数个参数,否则会产生不良结果。 这是上下文的虚拟示例: (defun my-caller (&amp;rest args) (while args (call-other-function (pop args) (pop args)))) 当对elisp文件进行字节编译时,如果字节编译器看到调用了错误数量的参数的函数,则会引发警告。显然,这绝不会发生my-caller,因为它被定义为可以接受任何数字。 仍然可能有一个我可以设置的符号属性,或者一个(declare)我可以添加到其定义中的表格。通知用户此函数应仅被赋予偶数个参数的信息。 有没有办法告知字节编译器此限制? 如果不是,是否可以使用宏而不是函数?

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.