Emacs

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

2
特定于缓冲区的键绑定
是否可以设置特定于缓冲区的键绑定? 我的一个组织文件中包含以下内容: # Local Variables: # eval: (local-set-key (kbd "<f10>") 'some-custom-defun-specific-to-this-buffer) # End: 但是此绑定对于其他组织模式文件也同样有效。如果我使用其他主要模式打开文件,则会启动默认键绑定。 看来local-set-key是设置特定于主模式的绑定而不是特定于缓冲区的绑定。 如何使绑定仅在特定缓冲区中激活?

6
如何为#+ BEGIN_SRC#+ END_SRC设置快捷方式?
我阅读了组织模式手册,但没有找到插入的捷径: #+BEGIN_SRC #+END_SRC 我想我需要在〜/ .emacs中创建配置以设置快捷方式?或者,是否有捷径但我不知道? 我在emacs中经常使用R。有没有办法创建一个单独的快捷方式来创建它? #+BEGIN_SRC R #+END_SRC
14 org-mode 

2
获取缓冲区中活动次要模式的列表
如何获取当前缓冲区中活动的次要模式的列表? 文件(info "(elisp)Minor Mode Conventions")说: Define a variable whose name ends in ‘-mode’. We call this the "mode variable". The minor mode command should set this variable. The value will be ‘nil’ if the mode is disabled, and non-‘nil’ if the mode is enabled. The variable should be buffer-local if …
14 minor-mode 


3
用词法绑定的let内部的Defun给出字节编译警告“该函数未知”
我想通过使用带有词法绑定的defun内部let来创建闭包来获得静态变量的效果。但是,当字节编译文件时,出现警告。我是在做错什么,否则,是否有办法抑制此警告? 我创建了一个MCVE: ;; -*- lexical-binding: t -*- (let ((count 0)) (defun increase-count () (interactive) (setq count (1+ count)) (message "Count is: %d" count)) ;; The warning happens here. (increase-count)) 代码按预期工作:函数increase-count打印出“ Count is:n”,其中n在每次调用时都会增加。但是,当字节编译此文件时,出现以下警告: In end of data: mcve.el:11:1:Warning: the function ‘increase-count’ is not known to be defined. 在我看来,increase-count应该始终在let块末尾调用它之前定义它。不是这样吗?



1
如何处理DIRED中的ZIP存档?
我想更轻松地使用Emacs Dired模式下的存档。而且我认为我的需求不仅仅是我的。 我想要的是?Dired中有两件事: z压缩光标上的文件或目录(如果存在标记,则压缩所有标记的文件/目录);新档案的名称应可以更改(但如果选择一个文件/目录,则名称应相同); Z在光标处取消存档任何类型的档案(zip,gz或tar);默认情况下,内容应放在具有相同名称的新目录中。 一个人怎么能做到这一点?
13 dired 

2
如何取消`edebug-defun`?
我如何撤消的影响edebug-defun?换句话说,edebug当调用特定功能时,如何取消导致进入调试模式的指令? 另外,我真的很想知道这个问题的答案在文档中。我所寻找的时间比人们认为必要的时间长得多...
13 debugging  edebug 

4
如何获得明智的拆分窗口政策?
Emacs不断开发新的窗口,最近一直毁了我的一天。创建Windows时如何告诉emacs使用以下策略? 偏好垂直分割 当窗口少于80列时,停止垂直分割。 当窗口少于60行时,停止水平分割。 当我到达此6x6网格时,请在我的27英寸显示器上开始重复使用Windows! 另外,我希望窗口始终保持平衡,但是每次拆分都会使寡妇的大小保持不平衡。我宁愿有3个大小相等的窗口,而不是1个大窗口和两个小窗口!是否有此设置,还是放置平衡窗口建议的明智之地?

1
突出显示缺少的参考
auctex是否可能以与bib文件中的引用不同的方式显示丢失的引用?当前,所有引用看起来都是相同的,因此无法一目了然地辨别出在bib文件中定义了哪些引用关键字,而哪些不是。Texstudio很好地做到了这一点。 book.tex: \documentclass{book} \usepackage[backend=biber]{biblatex} \addbibresource{bib.bib} \begin{document} This reference exists \autocite{ref1}. This reference does not \autocite{ref2}. % A squiggle, red, anything different to show "ref2" differently to "ref1" would be lovely. \end{document} book.bib: @misc{ref1, ...}

2
如何使用magit自动签署提交?
我对我的每次提交都用我的GPG密钥签名感兴趣。由于我使用magit与git进行接口,所以我想知道是否可以告诉magit对每个提交进行签名(或者至少可以通过某种变通办法来实现)。
13 magit  git  security  gpg 


4
如何仅加载一部分已安装的软件包
我遇到了一个涉及多个程序包之间交互的错误。为了报告该错误,我需要提供一个可复制的配方来说明问题。这需要加载适当的程序包,但从我的init加载的程序没有其他要求,也没有其他包。做这个的最好方式是什么? 更新 要澄清的是,我熟悉在二进制搜索中筛选.emacs来识别引起问题的代码的概念。在这种情况下,我确切地知道哪些软件包已经引起了问题。我不知道的是如何使用package-系统来加载这几个软件包。 (package-initialize)将加载软件包,但也将加载.emacs.d/elpa目录中的其他所有文件。package-load-list允许我指定要加载的软件包的特定版本,或要明确排除的特定软件包。我需要反向操作-如何为Emacs提供要包含的软件包列表,而不在elpa / package系统中加载任何其他软件包。

4
是否可以创建组织模式* scratch *缓冲区?
在emacs中处理文档时,我经常发现自己打开一个新的缓冲区,以org模式进行一些操作,复制org模式内容,并将其粘贴到我的文档中。以前,每次需要这样做时,我都会创建一个新的组织模式文档。现在,我有一个文件~/.scratch.org保存我的工作。 是否可以创建一个*org-scratch*行为类似于*scratch*缓冲区的缓冲区?

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.