Emacs

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


7
将文本从Emacs复制到OS X剪贴板
当我在文本终端而不是普通的GUI模式下运行Emacs时,可以通过使用激活区域的开头在Emacs中进行复制C-SPC,然后选择所需的内容,然后执行操作M-w。 是否有任何方法可以通过OSX剪贴板中的粘贴方式复制粘贴到网页中的区域(显然不是通过在其GUI模式下运行Emacs)? 我对创建其他快捷方式并不感兴趣,理想情况下,它不需要安装任何模块。 我看过这篇文章并尝试了接受的答案,但是它似乎无法按照我上面期望的方式工作。 还有其他想法吗?
25 osx  copy-paste 

3
光标可以跳回到上一个位置吗?
我可以将光标移到缓冲区的最后一个位置吗?(最好不要标记以前的位置) 例如,Ca跳到当前行的开头,我可以跳回到之前的行吗? 例如,当Cx Cf在另一个目录中打开文件时,我想跳回到路径名中的上一个位置。 谢谢。
24 cursor 

5
如何格式化代码(自动插入换行符,缩进等)?
我正在使用,spacemacs但大概这里需要emacs知识。 我有一个带有长行的JSON文件,让我们说这个来自json.org/example的JSON: {"menu": {"id": "file", "value": "File", "popup": {"menuitem": [{"value": "New", "onclick": "CreateNewDoc()"}, {"value": "Open", "onclick": "OpenDoc()"}, {"value": "Close", "onclick": "CloseDoc()"}]}}} 我希望emacs重新缩进,这对我来说意味着不要将行的最左字符更改为适当的缩进级别,而是将行分成几行。 如果使用spacemacs/indent-region-or-buffer(SPC j =),则文本完全不会更改。 我怎么能要求emacs打破这条漫长的路线并重新缩进以获得这样的东西: {"menu": { "id": "file", "value": "File", "popup": { "menuitem": [ {"value": "New", "onclick": "CreateNewDoc()"}, {"value": "Open", "onclick": "OpenDoc()"}, {"value": "Close", "onclick": "CloseDoc()"} ] } …

1
如何在组织模式下永久突出显示文本
我知道我可以根据org-mode文档*bold*, /italic/, _underlined_, =verbatim= and ~code~, and, if you must, ‘+strike-through+’进行一些markup文本操作,但是它们对我来说还不够(bold查看org文件时并不明显),我知道我可以自定义org-emphasis-alist,但是文档并不能说明很多。我要突出显示选中的文本,就像此页面中enriched-mode的图像一样。 但是,enriched-mode将文件保存为text/enriched格式,我不得不使用enriched-mode不org-mode本身。 因此,如何重新定义或定义新的标记(也许可以自定义org-emphasis-alist)以突出显示像enriched-mode这样的文本,所以 突出显示在此文件中是永久的(我可以在Emacs中看到突出显示) 同时可以将其导出为pdf或html文件。
24 org-mode 

3
启用次要模式的正确方法
我有foo-mode,并会为其启用bar-minor-mode。那么哪种方法更普遍和更可取呢? 一种 (add-hook 'foo-mode-hook 'bar-minor-mode) 乙 (add-hook 'foo-mode-hook (lambda () "Turn on `bar-minor-mode' mode." (bar-minor-mode 1))) C (defun bar-minor-mode-on () "Turn on `bar-minor-mode' mode." (interactive) (bar-minor-mode 1)) (add-hook 'foo-mode-hook 'bar-minor-mode-on) d •C型,但功能推向上游 Ë •变体C,但功能存储在插件的配方中
24 hooks  minor-mode 

1
排序使用什么算法?
我需要向已排序的列表中添加一个整数,以便将其放在正确的位置。我的第一个强项是 (sort (cons newelt list) #'<) 但是,鉴于list已经排序,实际上只需要一个插入,这意味着取决于所使用的算法,该解决方案可能非常不合适sort。 那么,使用哪种算法sort? 我会做以下更好的方法吗? (let ((tail list)) ;; The first element is never less-than (while (and tail (< newelt (cadr tail))) (setq tail (cdr tail))) (setcdr tail (cons newelt (cdr tail))) list)

1
根据主题设置组织导出的<code>块的背景
我经常导出组织模式文件,并且几乎所有文件中都有代码。当我导出代码时,最终会根据主题为文本着色,但是,我会定期在深色主题和浅色主题之间切换。对于浅色主题,这些&lt;code&gt;块需要具有浅色背景,对于深色主题,它们需要具有深色背景(否则,我最终在浅灰色背景上显示浅黄色文本,这是不可读的)。 我必须为深色背景添加此行: #+HTML_HEAD: &lt;style&gt;pre.src {background-color: #303030; color: #e5e5e5;}&lt;/style&gt; 然后记得在我切换到浅色背景时将其删除 有没有一种方法可以在导出时自动检测当前主题的背景色,并将其用于导出的HTML的CSS中? 编辑 我使用Jordon的答案(感谢Jordon,您得到了业障积分!),但是我想发布最终添加到我的代码中的解决方案,因为它是他的答案的稍微修改后的版本: (defun my/org-inline-css-hook (exporter) "Insert custom inline css to automatically set the background of code to whatever theme I'm using's background" (when (eq exporter 'html) (let* ((my-pre-bg (face-background 'default)) (my-pre-fg (face-foreground 'default))) (setq org-html-head-extra (concat org-html-head-extra (format "&lt;style type=\"text/css\"&gt;\n …


6
在窗口布局之间切换
当我配置自定义布局时,只需要临时全屏浏览一个文件,一旦我想要该布局,就需要手动对其进行重排。 我想要一个插件/省略号代码来保存我的布局并能够在保存的布局之间切换。 更新 谢谢你们。 abo-abo建议使用获胜者模式真的很好,我让它在零时间工作。 wasamasa建议了一堆我从未听说过的出色插件,并提供了有关如何使用寄存器的信息。 Jordon Biondo向我解释了如何使用寄存器,而这些东西实际上正是我想要的最简单的方法。 谢谢你们。
24 window  package  frames 

2
在Magit 2.1.0中逆转大块
我刚刚升级到magit 2.1.0。(以及emacs 25.0.50和git 2.3.1。) 以前,在*magit*缓冲区中,我可以: 在“未登台”区域中选择一个大块。 输入v并回答“是”以将其撤消。 这很方便。 但是现在在magit 2.1.0中它给出了一个错误:"Cannot reverse unstaged changes"。 为什么? 从错误消息中得到一个提示,我发现我仍然可以执行此操作,尽管可以通过更多步骤来实现“后退”: s大块头。(向后感觉;将其移至已提交状态。) 向下导航并在“暂存”区域中将其选中。 按v,回答是。 但是,大块仍处于u暂存状态,因此最后我必须对大块进行暂存。 这是一个错误,还是故意的和/或我很专心?如果是后者,您能帮助我理解吗? 更新:彻底RTFinfo-ing后,我看到有两个命令: v magit-reverse 反向更改工作树中的点。 k magit-discard 从工作树中删除当前点的更改。 似乎k magit-discard确实做了我以前v做过的事。它确实适用于未分级的块。 因此,实际上我只需要重新训练我的肌肉记忆就可以使用k。我可以将其发布为自我解答。但是我想我仍然对基本原理感到好奇,因为我想理解它会帮助我从总​​体上更好地了解magit。
24 magit 

4
org:如何按TODO排序标题,然后按优先级排序?
我经常有这样的清单: * Main heading ** TODO [#A] Make world better ** TODO [#B] Make Emacs better ** TODO [#B] Customize emacs ** DONE [#C] some task ** TODO [#A] Launch rocket to mars 我想首先根据“ TODO”任务字对它进行排序。然后,我想按优先级对已排序的TODO中的项目进行排序。(然后按“工作量”进一步排序将是不错的选择)。 我的意思是,当前我可以单击主标题,并已按优先级或todo关键字对子级进行排序,但不能同时对二者进行排序。 是否可以像排序策略一样进行排序? 目前我有两个标题 * Tasks ** TODO [#A] meh ** TODO [#B] meh2 * Completed. …
24 org-mode  sorting 

5
如何更新与使用软件包一起安装的软件包
我正在使用use-package安装和配置软件包(大多数软件包在melpa中)。是否有一种干净的自动化方法来使所有这些软件包保持最新状态? 如果没有,在这种情况下最佳的工作流程是什么? 注意:这里有一个非常相似的问题,带有答案,但我想澄清一下“您仍然需要处理安装更新”。我没有足够的声誉,因此无法评论答案以澄清问题。

2
升级到orgmode 8.3时,导出组织文件中断
我的orgmode最近更新到了最新的8.3,我发现无法再将init.org文件导出为HTML。 我在*Messages*缓冲区中得到以下输出: org-babel-exp process emacs-lisp at line 34... org-babel-exp process emacs-lisp at line 44... org-babel-exp process emacs-lisp at line 51... ... hundreds of lines like these ... apply: Wrong type argument: listp, #("John's Emacs Config" 0 19 (:parent (#0))) 似乎是无法解析某些标头。我尝试删除TITLE和AUTHOR标头,然后将其导出。

2
Emacs在80年代是什么样的?
我到处寻找古代Emacs发行版本的镜头,但无济于事。从1985年7月15日开始, Emacs 16.56的源代码可以在Github上找到,但是在任何情况下我都无法构建它。 Stallman Emacs的原始论文描述了Elisp,Emacs背后的动机以及一些旧的扩展-但不足以重建它的感觉。 我的问题是,Emacs在过去看起来如何?在采用组织模式,MELPA和magit之前,我们今天已经了解了大多数语言-除了入侵Lisp之外,人们还做其他事情吗? 人们使用过的包裹现在被完全遗忘了吗?“ UI”的外观如何? 最后一个问题:自从GNU Emacs首次发布以来,我们今天有没有什么改变? 我很想听听当时使用它的人的来信。 (我标记了终端emacs,因为问题至少需要一个标签。)

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.