Emacs

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

3
如何在AucTeX模式下使自动完成工作?
auto-complete当我处于内部AucTeX模式时,我想(ac)工作。我通过安装软件包从MELPA获取所有软件包。 这是我在init.el文件中的相关代码: (require 'package) (package-initialize) (require 'auto-complete-config) (ac-config-default) (global-auto-complete-mode t) 如您所见,尽管我是ac全局设置的,但它不会出现在中AucTeX。但是,按照此emacswiki中的指示进行操作,ac模式已在状态栏中显示为,AucTeX但不起作用,并且无法通过键入字符自动完成。 Windows 7 32bit下的Notes Emacs 24.4和软件包已更新。

3
合并两个属性列表的功能?
我没有找到标准的Elisp库函数来合并两个属性列表,如下所示: (setq pl nil) (setq pl (plist-put pl 'key-1 'value-1)) (setq pl (plist-put pl 'key-2 'value-2)) 我可以用构建一些东西dolist,但是在这样做之前,我想检查一下我是否在忽略某些库中的现有函数。 根据评论进行更新: 针对“多种方式”的评论: 我可以想象没有这样的功能,因为对于这个问题可能有不同的(并且可能是有效的)答案:当您重复使用具有不同值的属性名称时该怎么办? 是的,有一个关于如何合并重复项的问题,但是解决此问题的方法相对较少。我看到两种通用方法。首先,参数顺序可以解决重复项;例如,最右边的胜利,如Clojure的merge中。其次,合并可以委托给用户提供的回调函数,就像Ruby的merge一样。 无论如何,存在不同方式的事实并不妨碍许多其他语言标准库提供合并功能。关于排序,可以说相同的一般论点,但Elisp提供了排序功能。 “你能详细说明吗?” /“请准确指定您要寻找的行为。” 一般来说,我对Elisp社区使用的内容持开放态度。如果您想要一个特定的示例,那么下面的示例将是可行的: (a-merge-function '(k1 1) '(k2 2 k3 3) '(k3 0)) 并返回 '(k1 1 k2 2 k3 0)) 这将是最右边的风格,例如Clojure的合并。 “它们是清单,所以追加?” 不,append不保留属性列表的语义。这个: (append '(k1 1 k2 2) '(k2 …

2
如何请求Web服务器使用eww来提供其“移动友好”版本的网页?
我eww最近用于浏览网络以查找文档和类似内容。我不喜欢eww接收与Firefox或Google Chrome相同的网页,它不能像那些Web浏览器那样呈现网页。然后,我要实现的目的是eww告诉网站它访问的网站发送了网页的移动友好版本,因此,我将呈现出一个更简单的布局eww(或至少是我的假设)。
11 eww 

2
在同一缓冲区中使用两个主模式映射
我遇到了一些情况,其中非常需要将一种主要模式的键盘映射用作另一种主要模式的后备键盘映射。例如: 我在一些组织文档中写了很多LaTeX,因此latex-mode在编辑时轻松使用命令 会很棒org-mode。 我经常去Markc支持的irc会议室,因此将markdown-modekeybinds添加到中也很不错erc-mode。 在这两种情况下,此额外的键盘映射都应作为后备(这就是为什么我不能仅使用次要模式的原因)。我不希望乳胶命令覆盖任何org-mode键。我想要的是: 如果键是在latex-mode-mapAND中定义的,并且未在中定义,请 org-mode-map使用latex-mode-mapbinding。 问:如何将键盘映射设置为主要模式的后备键盘映射? 或 问:如何在不覆盖任何内容的情况下将键从一个主模式映射复制到另一个主模式映射? 只是要清楚。我知道我可以一一定义这些键,但是拥有一个自动化的解决方案将更加方便。

1
如何使用font-lock-defaults指定自定义面孔?
如果我使用现有的面孔定义字体锁定关键字,则可以突出显示字符串'foo'。 (defconst my-mode-font-lock-keywords (list (cons "foo" 'font-lock-type-face))) (define-derived-mode my-mode fundamental-mode "My mode" "A demo mode." (set (make-local-variable 'font-lock-defaults) '(my-mode-font-lock-keywords))) 这正确地突出显示: 但是,如果我定义自己的脸: (defface my-mode-foo-face '((t :inherit font-lock-preprocessor-face)) "Face for highlighting 'foo'.") (defconst my-mode-font-lock-keywords (list (cons "foo" 'my-mode-foo-face))) (define-derived-mode my-mode fundamental-mode "My mode" "A demo mode." (set (make-local-variable 'font-lock-defaults) '(my-mode-font-lock-keywords))) 没有应用突出显示: 如何font-lock-defaults定义自己的面孔?


1
定义不带kbd的Control + Shift键
我正在尝试向其他人的软件包添加一些功能,因此我想尊重他们的模式。不幸的是,这些模式之一是不使用kbd。 我需要将一个函数绑定到C-S-b,但是我不知道如何。我知道如何使用单个修饰符(例如"\S-b")来执行此操作,但是我无法使其与多个修饰符一起使用。我知道我可以评估(kbd "C-S-b")并使用其输出([33554434]),但我想更容易阅读。 这是我尝试过的一些方法: (define-key emacs-lisp-mode-map "\C-\S-b" 'test-command) ;;; Invalid modifier (define-key emacs-lisp-mode-map [C-S-b] 'test-command) ;;; Does nothing (define-key emacs-lisp-mode-map "\C-B" 'test-command) ;;; Binds C-b

3
如何将给定文本环绕区域
我经常遇到需要在区域周围应用文本的情况。对于HTML和简单案例,已经有用于此的库。但是一般情况呢?我想问我要在该区域的开始和结束处插入什么。

4
如何使Mx和Ch f共享历史?
通常,我会使用查看命令的文档C-h f,然后M-x立即调用该命令。 现在,我发现“调用最后一个视图命令”的最短方法是复制其名称(从帮助缓冲区或历史记录中复制)并将其拖入M-x的minibuffer提示符。 我真正想要的是使命令名称 describe-function成为的历史一部分 execute-extended-command。所以我可以做M-x M-p RET。 最简单的方法是什么?

3
如何通过Company获得C / C ++上下文相关的完成功能?
Semantic 似乎能够做到这一点,但是我无法按预期实现它。例如,如果我#include "Type.h"和声明Type t,使用semantic-complete-analyze-inlinewhen point was after t.始终给我错误 找不到“类型t”的类型 而不是向我提供的所有公共(或其他适当方式)成员t。 如何获得我在这里寻找的结果?理想情况下,我如何使用语义可能提供的任何东西作为公司的后端?

1
python自动缩进问题
我正在使用Emacs 24.4。在编写Python代码时,Emacs在缩进方面表现得很奇怪。 例如: for i in range(10): print(i) for i in range(10) 当我输入时:,Emacs在第三行的开头添加了一个不必要的缩进。这很奇怪,这是一个错误吗?

2
将普通键转换为修饰键
我有一个键盘,出于某种莫名其妙的原因,它具有一个将丹麦元符号发送到OS X-的键§。移位时,它将发送加号/减号- ±。 是否可以在Emacs中查看§密钥并将其转换为Hyper或Super?因此,如果我按住该§键并按f,它将H-f在Emacs中激活。 我已经尝试了以下方法,但不起作用: (define-key key-translation-map (kbd "§") (kbd "<Hyper>")) 它只是<Hyper> is undefined在按下键时说,根本不充当修饰符。 这也行不通: (define-key key-translation-map (kbd "§") "<Hyper>") 只是把§钥匙变成了<钥匙。

1
着色压痕等级
考虑以下两个快照:下面的第一个快照来自Python模式下的Emacs(使用Jedi和Elpy) 下面的第二个来自手动照相购物,前一个则是为了更容易区分这么多的压痕级别。 是否有任何软件包可以帮助实现后一种效果?在上面的示例中,我使用了两种颜色(足以将压痕级别与其相邻的颜色区分开),但是使用更多颜色的其他配色方案可以使导航更加容易。 请注意,在Emacs中,缩进字符由以下命令决定: # Insert multiple spaces for indentation: (setq indent-tabs-mode nil) # Insert TAB for indentation: (setq indent-tabs-mode nil)


2
解码HTML实体的内置方法(即“或”)
我最近遇到了解码html实体的问题。我有以下两个字符串(请注意如何使用两种编码方法(命名和编号))。 The old "how to fold xml" question Babel doesn't wrap results in verbatim 我需要将它们转换为 The old "how to fold xml" question Babel doesn't wrap results in verbatim 到处搜索,我发现了关于SO的这个老问题(这是我目前正在做的事情),但是我拒绝相信Emacs没有内置的方法。我们有几种Web浏览器,至少我知道其中两种是内置的,更不用说邮件客户端和提要阅读器了。 是否没有内置的方法来解码html实体? 我正在寻找一个函数,该函数从第一个示例获取一个字符串,然后从第二个示例返回一个字符串。
11 html 

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.