Emacs

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




4
Aquamacs和其他Mac版本的Emacs有什么区别?
Macintosh用户可以选择几种预构建的Emacs。我知道以下版本: YAMAMOTO Mitsuharu的版本 大卫·考德威尔(David Caldwell)的版本 文森特·古莱特(Vincent Goulet)的版本 David Reitter的Aquamacs 版本 我想到的一些问题: 这些版本在任何重大方面是否有所不同? 一个人可以通过简单地修改初始化文件来获得其他人的功能吗? 这些变化是否会回到上游? 我知道Aquamacs具有非常类似于Mac的键绑定,因此被认为是“非正统”的,但是我也有兴趣了解非Aquamacs版本之间的区别。
99 osx  aquamacs 



3
如何在Emacs中合并Git冲突
我最近的Git合并导致了许​​多冲突。我当前的方法是搜索“ <<<”的下一次出现,然后通过标准文本编辑执行合并。 问题:Emacs是否可以使用Git中有关我的版本,其版本和文件基本版本的信息来支持合并? 编辑:此问题的范围不同于此相关问题的范围,因为它不仅限于调用ediff。
84 git 

7
如何在第80列获得标尺?
作为程序员,我想在特定的列(通常为80)上看到一个标尺,既可以看到跨过该列的时间,又可以看到距它有多近,因此可以尽早重新格式化代码。 到目前为止,我发现的所有选项都无法实现此目标: whitespace-mode,column-enforce-mode并且column-marker仅突出显示行中的文本已通过后的各个行fill-column。我想看看何时我靠近柱子,而不仅仅是经过柱子时。 fill-column-indicator将是一个很好的解决方案,但它打破了auto-complete-mode,company-mode,avy,等等。这些似乎很难解决,每个都需要一个单独的解决方法的问题-例如,看到的company-mode问题以及该auto-complete-mode问题,后者超过两年)。 有更好的选择吗?

5
使用emacs读写电子邮件
我们如何使用emacs读写电子邮件? 该问题旨在为希望使用emacs处理电子邮件的用户提供规范的登陆点。 请为每个答案仅发布一个软件包/解决方案,并提供尽可能多的详细信息。可能有用的信息包括: 要求,支持的环境 支持的方法(读取和/或发送) 支持的协议(pop,imap,smtp,本地邮件设置...) 支持的身份验证 密码存储(无,纯文本,访问外部钱包...) 离线支持(无,主动缓存,按需...) 使用附件有多容易?(通过拖放添加,下载,使用emacs或其他应用程序打开...) 设置说明(越详细越好),屏幕截图... 支持其他电子邮件功能(存档,过滤,文件夹) 支持其他相关功能(联系人,RSS提要)...在此无需赘述,具体取决于该功能与电子邮件的关联程度 只要用户不需要直接与外部过程进行交互,就欢迎需要使用外部工具来处理邮件的解决方案。 示例:充当mutt前端的程序包是热门话题,而雷鸟用户则无法使用emacs编写其消息的解决方案。 元讨论的帖子。 答案的快速链接(按字母顺序): GNUS 喵 Mu4e 不多 流浪癖
77 email 

10
如何防止过长的行使Emacs变慢?
我看到的性能差别很大,这取决于我要访问的文件中有多少个换行符。 这是一个例子。我有两个JSON文件: $ wget https://github.com/Wilfred/ReVo-utilities/blob/a4bdc40dd2656c496defc461fc19c403c8306d9f/revo-export/dictionary.json?raw=true -O one_line.json $ python -m json.tool <one_line.json >pretty_printed.json 这是两个具有相同内容的JSON文件。one_line.json是JSON的18MiB,没有任何换行符。pretty_printed.json添加了换行符和空格,使其成为41MiB。 但是,在Emacs中以Javascript模式和Fundamental模式打开时,分成多行的较大文件的速度要快得多。 为什么Emacs的行数这么少,但实际上它的字节数却少呢?在不重新格式化Emacs外部数据的格式的情况下,我能做些什么来提高性能?

4
使用setq而不是custom.el设置变量的优点?
我看到很多人(扩展作者和其他人)通过setq以下示例提供配置示例: (setq foo 'bar) 这些参数通常使用定义defcustom,因此可通过进行自定义custom.el。 我通常custom.el用来设置它们。setq替代使用是否有任何优势,或者这两种方法大致等效?

17
如何快速切换缓冲区?
在香草Emacs中,我必须做C-x b,然后手动键入要切换的缓冲区名称。如果忘记了缓冲区的名称,则必须点击TAB以列出可能的补全。我可以做些什么来加快此过程的速度吗?

8
将.emacs和.emacs.d保留在版本控制中时,我应该/应该做什么?
像许多人一样,我通过版本控制存储库(在我的情况下为Bitbucket上的Mercural,私有)来管理许多dotfile。在设置新机器或在不同机器之间传播配置时,这非常方便。 所以自然地,我将我的.emacs和添加.emacs.d到了此设置。 然后,我安装了一些软件包,并最终将其添加*.elc到.hgignore,就像我*.pyc从Python存储库中删除文件一样。 还有其他我不应该跟踪的事情,例如,生成的文件是特定于环境的,并且在克隆到另一个平台时不会有用/正确吗?(我在台式机上使用Linux和OS X,在服务器上使用FreeBSD。) 是否有任何通常用来使这种共享变得更有价值的设置技巧?通过我的Shell文件设置,我仍在寻找例如跨分支挑选单个文件的好方法。


4
如何找出一个键绑定在哪个键映射中?
我已在中弹回'd'键gnus-article-mode,但是当该点位于附件上时,它的旧行为仍然有效。我可以看到rebinding并没有在那里生效C-h k d,但是它并没有告诉我那时什么键盘映射是有效的,因此我可以重新绑定它。 有办法找到答案吗? 这是一个精确的示例:我正在使用邪恶,并且希望文章处于运动模式。对于我的键盘布局,我将“ d”配置为向上键。 (evil-mode 1) (add-to-list 'evil-motion-state-modes 'gnus-article-mode) (setq evil-emacs-state-modes (remove 'gnus-article-mode evil-emacs-state-modes)) (define-key evil-motion-state-map "d" 'evil-previous-line) 为了确保考虑到邪恶键,我在本地地图中未设置gnus键: (defun as/alter-article-evil-map () (local-unset-key "d")) (add-hook 'gnus-article-mode-hook 'as/alter-article-evil-map) 不幸的是,当该点位于附件上时,“ d”键不再向上,但是它可以让我删除附件。我猜想那时还有其他绑定处于活动状态,因此是个问题。 解决方案我使用keymaps-at-point下面的方法从文本属性中找到使用的键盘映射。然后,我查看了绑定函数的代码以查找键映射的名称gnus-mime-button-map。以下代码实现了我想要的功能: (defun as/alter-article-evil-map () (define-key gnus-mime-button-map "d" nil)) (add-hook 'gnus-article-mode-hook 'as/alter-article-evil-map)

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.