Emacs

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

2
记住执行“危险”局部变量的权限
在我的许多项目中,我都使用.dir-locals.el文件来设置项目特定的变量,例如编译命令。在包含此类文件的目录中打开文件后,会emacs抱怨“风险局部变量”,尤其是: The local variables list in $DIR$/ contains variables that are risky (**) Do you want to apply it? You can type y -- to apply the local variables list. n -- to ignore the local variables list. ** LaTeX-command : "lualatex -shell-escape" 我不想关闭此功能,但只想问一次(在emacs会话期间)特定.dir-locals.el文件的问题。 我正在使用一些想要解析整个sourcetree的插件,y仅解析所有内容就打了数百遍是很烦人的。 因此,实际问题是: 可以emacs配置/修改“局部变量加载机制”,以便允许/拒绝整个emacs会话中特定局部变量列表的加载吗?

2
如何使用org-plus-contrib?
我想使用org-mode的贡献​​软件包:http : //orgmode.org/worg/org-contrib/ [编辑]解决方案: 按照以下答案:1)第一个应该添加elpa软件包。 (require 'package) ... (add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/") t) ... (package-initialize) 在此详细描述。1个 2)之后,可以在上述几行下添加所需的模块,如下所示: (require 'org-checklist) 警告 有些软件包可能在git-hub存储库中可用,但在官方存储库中尚不可用。(例如撰写本文时的org-eww)。因此,要求这些将导致错误。 在添加需求之前,建议浏览文件夹: ~/.emacs.d/elpa/org-plus-contrib-<DATE>
15 org-mode  package 

1
掌控所有项目文件(不仅仅是当前缓冲区)
因此,我希望helm-swoop查看项目中的所有文件,而不仅仅是当前打开的缓冲区集。 这样一来,我可以使用swoop查找项目中的所有事件,标记相关事件,然后进行编辑(在头盔swoops编辑模式下)。 我觉得使用Helm / Helm俯冲可能有一种干净的方法,但这是我尝试通过一种解决方案进行思考的尝试: 从弹丸收集文件名 从文件名列表创建缓冲区列表 除了使用此新缓冲区列表之外,还执行与helm-multi-swoop-all相同的例程 (projectile-current-project-files),它似乎为我提供了我要查找的文件列表。 因此helm-multi-swoop-all,看起来很容易复制然后进行调整。 (defun helm-multi-swoop-all (&optional $query) (interactive) "Apply all buffers to helm-multi-swoop" (cond ($query (setq helm-multi-swoop-query $query)) (mark-active (let (($st (buffer-substring-no-properties (region-beginning) (region-end)))) (if (string-match "\n" $st) (message "Multi line region is not allowed") (setq helm-multi-swoop-query (helm-swoop-pre-input-optimize $st))))) ((setq helm-multi-swoop-query (helm-swoop-pre-input-optimize (funcall …
15 buffers  helm 



1
如何使用组织模式的复选框?
我不确定如何在Emacs中使用复选框。我正在使用Emacs 24.3。 该文档建议使用org-toggle-checkboxas作为“使用单个前缀参数,添加一个空复选框...” 我尝试从现有列表开始(以org-mode作为主要模式),如下所示: * shopping list ** eggs ** bread ** Tesla Model S ** bacon 无论我将点放在“购物清单”中还是“鸡蛋”中,按下C-u C-c C-x C-b(运行org-toggle-checkbox)都将导致错误“子树中没有项目”被打印到小型缓冲区中。在没有我的初始化文件(emacs -Q)的情况下会发生此行为,因此这纯粹是组织模式问题。 什么是开始使用复选框的正确方法?
15 org-mode 

3
安装Emacs Windows支持库的最简单方法
我安装了Windows的Emacs 24.4的二进制文件,并想要安装Windows的Emacs README中描述的支持库。ezwinports项目提供了最新的预编译库,但是安装它们会花费一些时间。我必须选择Emacs的README文件中提到的所有库,扫描ezwinports README文件是否有其他先决条件,并下载每个zip存档。然后解压缩它们,将它们移动到永久位置,然后将各个目录添加到我的PATH变量中。这些档案中有重复的文件,因此我很警惕将它们全部解压缩到同一目录而不检查它们是否相同。 有自动化的方法吗?

2
如何快速导航到我已安装的软件包?
当我进入包管理器(M-x package-list-packages)时,我想快速导航到已安装的包。 从字面上看,有成千上万个标记为可用,已安装或内置的软件包,但是所有导航似乎都是逐行的。这是包管理器的疏忽吗?还是我忽略了一些显而易见的内容(当然,除了基本的字符串搜索之外)?


2
如何在Emacs GUI模式下切换全屏(“全屏”选项在Kubuntu中为灰色)?
这是一个基本的问题,但我真的很茫然(谷歌搜索只显示了OS X的解决方案)。 直到最近,我主要使用终端模式(我可以使用桌面环境的Shell窗口全屏快捷方式进行全屏显示),但是切换到GUI,因为我希望能够选择字体。 有什么建议么?最大化使用窗口标题栏中的按钮并不能全屏显示-我仍然可以看到任务栏和窗口标题栏。 编辑:我应该添加该Full-screen选项(即,右键单击窗口标题栏后)为灰色(请参见下面的展览1)。同样,更改下的Full Screen设置会Special Applications Settings自动恢复为禁用状态。 该No border选项的确提供了部分解决方案,因为它使窗口标题栏消失(尽管任务栏仍然可见)-如果有一种方法可以轻松地使用键盘快捷键并给定KDE和emacs来切换全屏,那就太好了。可定制性,由于我是KDE和emacs n00b,我认为这很可能。 展览1: 更新: 为了防止我可能无意中自定义了任何设置,我最终重置了kde桌面(通过删除相关的血浆文件)。重新启动后,我可以使用Special Window Settings对话框Force将应用程序置于全屏模式(可通过Alt+F3-> More actions-> 调用菜单来访问该对话框Special window settings)。(下面的截图。) 在一般意义上,我还是更喜欢辣椒粉的答案,因为它是更好的解决方案,它涉及创建全局键盘快捷键。只是想包括我的回旋修复程序,以防其他人也发现他们的emacs拒绝接受full screen全局键盘快捷键。 从Special Window Settings对话框强制全屏模式:

2
如何在组织模式下将密钥绑定到特定的议程命令/列表
我为组织议程添加了自定义键,以显示Sacha Chua之后所有未计划的TODO项目: (defun sacha/org-agenda-skip-scheduled () (org-agenda-skip-entry-if 'scheduled 'deadline 'regexp "\n]+>")) (setq org-agenda-custom-commands '(("u" "Unscheduled tasks" alltodo "" ((org-agenda-skip-function 'sacha/org-agenda-skip-scheduled) (org-agenda-overriding-header "Unscheduled TODO entries: "))))) 我可以用调出该列表C-c a u,但我只想将其绑定到一个键上。目前,我有一个简单的方法: (global-set-key (kbd "<f8>") 'org-todo-list) 但是我想使用上面的自定义命令。我已经仔细阅读了手册,但看不到如何做。
15 org-mode  keymap 

3
描述面部字符不在光标下方/光标无法访问
我喜欢结合使用describe-face和customize-face来调整工作环境的外观。有时,当我想更改用光标无法到达的位置的面时,此工作流程会失败;在大多数情况下,我可以跟踪并出错找到解决方案的方式,但有时我会卡住(例如,直到昨天我才知道标题行存在) 。 有没有便捷的方法来描述光标无法到达的帧中某个位置的面孔?例如通过鼠标。


2
如何串联两个清单?
抱歉,但是elisp不是我最好的。我需要以这种方式组合两个字符串列表: ("a" "b" "c") + ("d" "e" "f") -> ("a" "b" "c" "d" "e" "f") 好吧,顺序并不重要,因此我编写了以下代码: (while lista (add-to-list 'listb (car lista)) (setq lista (cdr lista))) 它可以工作,但是我想知道是否已经有一个函数可以做到这一点。 有什么线索吗?提前致谢。
15 list 

2
使用magit进行最基本的添加,提交和推送
我通常每次想将更改提交到存储库时只使用几个git命令: $ git add --all . $ git commit -m "update." $ git push -u origin master 玛吉特在这方面会有用吗?M-x magit-status似乎有帮助,但我没有从ref1 ref2 ref3完全理解“登台/非登台”,“大头”等语言。 等价的命令可能是什么magit?提前致谢 - 编辑此页面似乎对我来说水平更好,但是C-u s相当于git add --all .?尽管该页面说它不起作用。
15 magit 

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.