我刚刚开始学习Python并使用Emacs作为我的编辑器.目前,Emacs对普通字符串(单引号)和文档字符串(三引号)使用相同的颜色.我希望文档字符串是一种不同的颜色,因此我使用"选项 - >自定义Emacs"菜单选项将"font-lock-doc-face"更改为新颜色并保存更改.但是,Emacs继续保持文档字符串与普通字符串相同的颜色.更改普通字符串的颜色也会将更改应用于文档字符串.
似乎Emacs将docstrings和普通字符串视为相同.有没有办法让Emacs正常地找到并将Python文档字符串与普通字符串分开?
编辑:我正在使用Emacs 23.1.1(Kubuntu 10.10软件包)和默认的Python模式设置.我还使用了带有午夜主题的颜色主题包.
在cperl模式中,我可以使用M-x customize-group RET cperl-faces RET和更改Cperl Hash Face和更改数组和哈希面Cperl Hash Face.但我看不到任何改变标量变量颜色的选项.
我试图改变font-lock-variable-name-face代码内部或从Cperl Ps Print Face Properties(我真的想改变颜色在打印中),但它不起作用.我已经尝试了从4.32到rockway-perl6-branch的几种cperl模式.
此外,我不想在变量中使用$ color,因此sigil在打印输出中会更好(这已经在这里被问到但是没有解决).
有人可以给我任何提示吗?
我刚刚开始使用Emacs来编辑乳胶文档.我被Emacs所吸引,因为我希望能够自定义语法高亮,甚至可以定义特定单词的颜色.我是Emacs的新手而不是程序员,所以我在做我想做的事情时遇到了极大的困难,因为我找到的大多数帮助对我的关卡都有太多的了解(我花了几天才能安装emacs + auctex和改变第一面颜色).
我发现了一些我认为会对我有帮助的东西,但我不知道该怎么做.下面的帖子是我想要做的,但我应该用这个代码做什么?我应该在哪里插入它或在哪里键入它?我在Windows中使用GNU Emacs.非常感谢你的帮助:)
Mx面对面
将打印当前点找到的面部.而代码是:
Run Code Online (Sandbox Code Playgroud)(defun what-face (pos) (interactive "d") (let ((face (or (get-char-property (point) 'read-face-name) (get-char-property (point) 'face)))) (if face (message "Face: %s" face) (message "No face at %d" pos))))
顺便说一句,我在另一篇文章中找到了这个,可以在这里找到: 在Emacs中获取光标下的字体
有关于emacs配色方案,字体锁等的各种信息,但我无法获得我想要的位置.基本上我想知道什么是一些最好的字体设置,以便有一个很好的纯色主题,这是一个很好的跨语言解决方案.我最终会遇到许多语言语法(parens,括号,运算符等),而在某些地方我没有突出显示它们.
以下是我目前设定的面孔:
font-lock-builtin-face
font-lock-comment-face
font-lock-comment-delimiter-face
font-lock-doc-face
font-lock-doc-string-face
font-lock-function-name
font-lock-keyword-face
font-lock-negation-char-face
font-lock-preprocessor-face
font-lock-string-face
font-lock-type-face
font-lock-variable-name-face
Run Code Online (Sandbox Code Playgroud)
如果有任何主要面孔我在这里失踪怎么办?
我真的希望在Emacs中禁用斜体样式.
在这篇文章中,它解释了如何禁用粗体和下划线,但不是斜体.
有谁知道这是怎么做到的吗?
使用制表符完成,我可以看到我有这些可用
set-face-background set-face-background-pixmap
set-face-font set-face-foreground
set-face-inverse-video-p set-face-stipple
set-face-underline set-face-underline-p
Run Code Online (Sandbox Code Playgroud) 此问题显示如何更改特定的Emacs设置set-face-attribute.
我在哪里可以找到有关set-face-attribute的文档?
通常我会找到文档C-h a,然后是命令或命令片段.但这样做set-face-attribute并没有任何结果.
有没有办法轻松修改font-face下光标?
例如,下面的蓝色文字很难阅读:

上面是输出
ipython --color "Linux"
Run Code Online (Sandbox Code Playgroud)
ansi-term在with tango-darkin上运行Emacs 24.1,即 (load-theme 'tango-dark t)
如果我what-cursor-position在上面的图像上运行(此处描述:在 Emacs 中获取光标下的字体),我得到:
position: 30385 of 30477 (100%), column: 22
character: / (displayed as /) (codepoint 47, #o57, #x2f)
preferred charset: ascii (ASCII (ISO646 IRV))
code point in charset: 0x2F
syntax: _ which means: symbol
category: .:Base, a:ASCII, l:Latin, r:Roman
buffer code: #x2F
file code: #x2F (encoded by coding system nil)
display: by this font (glyph code)
xft:-unknown-DejaVu …Run Code Online (Sandbox Code Playgroud) 例如,如何制作将默认前景色更改为灰色的次要模式,并在退出次要模式时,前景色会恢复为黑色?当您不喜欢在肩膀上看到某些文字时,此模式可能很有用.
现在,我运行以下代码将文本颜色变为灰色:
(set-face-attribute 'default (selected-frame) :foreground "darkgrey")
Run Code Online (Sandbox Code Playgroud)
以下代码回来了.
(set-face-attribute 'default (selected-frame) :foreground "SystemWindowText")
Run Code Online (Sandbox Code Playgroud)
但这会影响所有缓冲区.
我找到了一个代码,以更简单,更快捷的方式在LaTeX中输入方程式.而不是打字
\begin{equation}
\end{equation}
Run Code Online (Sandbox Code Playgroud)
我现在可以打字了
\be
\ee
Run Code Online (Sandbox Code Playgroud)
它很棒,我很满意.本文档(第13页)中的代码是
\makeatletter
\newcommand{\be}{\begingroup
\setlength{\arraycolsep}{2pt}
\eqnarray%
\@ifstar{\nonumber}{}%
}
\newcommand{\ee}{\endeqnarray\endgroup}
\makeatother
Run Code Online (Sandbox Code Playgroud)
我的问题是我使用emacs,它不识别那些数学分隔符,因此它不会给脸部正确的数学颜色.我试图通过使用命令M-x customize-apropos来尝试找到我可以使用的东西来定制它,但我得到的最接近的是变量
'font-latex-math-environments',我不认为是我所追求的,因为从我所看到的我只能输入大括号内的命令的名称\begin{}和\end{}
'font-latex-make-built-in-keywords',这需要我比我更多的知识,我甚至不知道它是否会起作用.
我想知道,因此,如何建立Emacs的这样,每当我用一对\be和\ee它会给面对相同的颜色,因为我设置了数学.我想这将需要一个emacs lisp代码,这将是伟大的所以我可以修改它以包括其他的东西,如果是这样我希望.
任何人都可以帮我完成这项工作吗?
(我不知道这个问题的标题是否正确)
当使用几种次要模式同时改变"颜色"时,是什么决定了哪种模式显示了什么?例如,我正试图同时使用highlight-changes-mode和rainbow-mode:http://julien.danjou.info/projects/emacs-packages
我的问题是,当我在缓冲区进入一个新的颜色(比如#306090),也看不到的背景颜色#306090字符作为彩虹模式会希望它是,我看到的背景颜色(的整条线)改变了(因为我正在使用highlight-changes-mode,我很喜欢).
我的问题有点类似:决定在哪里解决"订单"冲突的原因是什么?它取决于各种模式的加载顺序吗?