标签: emacs-faces

组织模式穿透颜色

默认情况下,Org-mode中的删除文本(如:+ text +)为黑色.我想让它们变灰.问题是,我找不到定制它的地方.我试过了M=x describe-face,结果就是"默认面孔",这令人费解.Org-mode有没有配置透视颜色的地方?

emacs org-mode emacs-faces

9
推荐指数
1
解决办法
2859
查看次数

Emacs:使用字体锁定/语法着色非常慢的滚动

我试图从Vim切换到Emacs几个月并遇到了一个奇怪的问题:当font-lock打开时,在emacs中滚动变得非常慢.配置相关部分的示例:

(require 'vimpulse)
(require 'font-lock)
(require 'color-theme)

(global-font-lock-mode 1)
;;(setq font-lock-maximum-decoration t
;;font-lock-maximum-size nil)
;;(setq font-lock-support-mode 'fast-lock-mode ; lazy-lock-mode
;;  fast-lock-cache-directories '("~/.emacs-flc"))
Run Code Online (Sandbox Code Playgroud)

即使是以几百行开头的相对较小的文件,它也很慢.似乎这不是一个非常普遍的问题,因为到目前为止我没有找到任何明确的解决方案.

GNU Emacs 23.1.1 Ubuntu 10.04

emacs font-lock emacs-faces

8
推荐指数
1
解决办法
3286
查看次数

Emacs字体锁定模式:提供自定义颜色而不是脸部

讨论字体锁定模式的页面上,提供了一个突出显示自定义模式的示例:

 (add-hook 'c-mode-hook
           (lambda ()
            (font-lock-add-keywords nil
             '(("\\<\\(FIXME\\):" 1 font-lock-warning-face t)))))
Run Code Online (Sandbox Code Playgroud)

是否有提供自定义颜色,而不是一种方式font-lock-warning-face,并没有定义一个新的自定义面孔.我希望能够写出如下内容:

(font-lock-add-keywords nil '(("\\<\\(FIXME\\):" 1 "Blue" t)))
Run Code Online (Sandbox Code Playgroud)

或RGB颜色定义:

(font-lock-add-keywords nil '(("\\<\\(FIXME\\):" 1 "#F0F0F0" t)))
Run Code Online (Sandbox Code Playgroud)

使用双引号不起作用.你知道什么使其工作?

emacs customization elisp colors emacs-faces

8
推荐指数
1
解决办法
1823
查看次数

如何为特定缓冲区设置缓冲区本地face属性?

我想只更改Org-Agenda缓冲区中的face属性.所以我需要在本地更改Org-Agenda面部属性缓冲区.

这是我的代码:(全球范围内)

(defun my-org-agenda-hl-line ()
  (hl-line-mode)
  (set-face-attribute 'hl-line nil
                  :box '(:color "deep pink" :line-width 2))
)
(add-hook 'org-agenda-mode-hook 'my-org-agenda-hl-line)
Run Code Online (Sandbox Code Playgroud)

请帮我在本地制作这个缓冲区.谢谢

emacs customization org-mode font-face emacs-faces

8
推荐指数
1
解决办法
1282
查看次数

如何在不重启Emacs的情况下刷新字体设置?

问题解决了

我决定使用名为Ricty的缩放定制字体.这是一种更简单的方法.

-

我正在设置Emacs字体大小,使用face-font-rescale-alist,如下所示.

(create-fontset-from-ascii-font "Inconsolata-12:weight=normal:slant=normal" nil "myfavoritefontset")
(set-fontset-font "fontset-myfavoritefontset"
          'japanese-jisx0208
          (font-spec :family "TakaoExGothic" :size 12)
          nil
          'append)
(add-to-list 'default-frame-alist '(font . "fontset-myfavoritefontset"))
(setq face-font-rescale-alist
    '(("^-apple-hiragino.*" . 1.2)
      (".*osaka-bold.*" . 1.2)
      (".*osaka-medium.*" . 1.2)
      (".*courier-bold-.*-mac-roman" . 1.0)
      (".*monaco cy-bold-.*-mac-cyrillic" . 0.9)
      (".*monaco-bold-.*-mac-roman" . 0.9)
      ("-cdac$" . 1.3)
      (".*Inconsolata.*" . 1.0)))
Run Code Online (Sandbox Code Playgroud)

来自http://d.hatena.ne.jp/shammer/20120811/1344701212

要检查字体大小,每次更改值时都会重新启动Emacs.

如何在不重新启动Emacs的情况下刷新字体大小?

emacs fonts emacs-faces

8
推荐指数
1
解决办法
811
查看次数

更改 Emacs 的背景颜色

我有一个函数可以将 Emacs 的颜色主题设置为我自己定义的主题。在这个功能中,我做:

(set-face-attribute 'default cur-frame :foreground fg-color :background bg-color)
Run Code Online (Sandbox Code Playgroud)

然后我为default-frame-alistinitial-frame-alist和设置背景颜色、前景色和光标颜色special-display-frame-alist

所有这些在我的 Mac 上都运行良好。但是当我在 Linux 上使用它时,对于已经打开的所有框架看起来都很好,但是在新创建的框架上它看起来像这样:

背景颜色问题

如果使用set-background-color/set-foreground-color函数而不是 ( set-face-attribute 'default ...) ,则新框架不会出现此问题。但是如果我这样做,我必须手动重置已经打开的每个帧的颜色。

我在 Mac 和 Ubuntu 上都使用 Emacs 23.3 版。

为了澄清起见,这是我使用的主题文件:

我的颜色.el

emacs customization emacs-faces

6
推荐指数
2
解决办法
1万
查看次数

有没有办法防止字体锁定更改字体系列(并仅更改颜色)?

不可否认,这是一个第一世界的问题,但我对显示器的外观有点挑剔,我发现当某些模式设置新的字体大小,系列,粗体/斜体等时,它真的很烦人.我是什么我喜欢把它放在(set-frame-font "Menlo-10")我的.emacs顶部附近,然后强制emacs永远不会改变除默认字体以外的任何方面.

通过这样做,我可以得到我想要的效果:

(mapc (lambda (face) 
    (set-face-attribute face nil
                        :family "Menlo"
                        ;; something like (cdr (assoc 'font (frame-parameters)) would be better
                        ;; for the :family, but it didn't immediately work
                        :width 'normal
                        :height 1.0
                        :weight 'normal 
                        :underline nil
                        :slant 'normal))
    (remove 'default (face-list)))
Run Code Online (Sandbox Code Playgroud)

但是只有在我加载了一个新的缓冲区后才能工作,这个缓冲区已经创建了要改变的字体锁面,​​而且无论如何都是一个可怕的黑客攻击.我怀疑在字体锁定方面没有真正用于忽略模式请求的某些部分,但我想我会问.

此外,AUCTeX是迄今为止最糟糕的攻击者,所以如果在某个地方交替使用AUCTeX设置以防止它首先要求改变族,大小等,这至少会使问题变得不那么烦人.

我目前正在使用最近从HEAD撤出的Emacs 24.

emacs font-lock emacs-faces

6
推荐指数
1
解决办法
625
查看次数

有没有办法从带有面孔的emacs中复制文本?

我偶尔会遇到需要通过emacs发送一段代码的情况.当我将文本粘贴到我的电子邮件程序(而不是emacs)时,所有颜色突出显示都会丢失.粘贴时尤其令人失望org-mode,因为它在很大程度上依赖于颜色的可读性.保留字体面很好.

有没有办法做到这一点?我正在寻找类似的输出ps-print-buffer-with-faces.

windows emacs copy-paste colors emacs-faces

6
推荐指数
1
解决办法
1077
查看次数

在Emacs中自定义突出显示面:仅更改背景颜色

有没有办法在Emacs中定义一个面(例如高亮显示hl-line),这样它只会改变背景颜色(并让Emacs使用前景色,就像单词没有突出显示一样).

更具体地说,我在tango-dark主题上尝试了以下内容

(custom-set-faces
 '(region ((t (:inherit nil :background "RoyalBlue4"))))
 '(highlight ((t (:inherit region :background "dark olive green"))))
 '(hl-line ((t (:inherit highlight)))))
Run Code Online (Sandbox Code Playgroud)

并且,如下所示,区域突出显示确实尊重前景字体(即它只改变背景颜色):

                     在此输入图像描述

但是当前行的突出显示不是:

                       在此输入图像描述

为什么?我怎样才能获得同样的效果hl-line

更新:

这似乎是tango-dark主题中的一个错误(Emacs的内置主题).该代码适用于默认主题(加载时emacs -Q).我在官方错误邮件列表上发布了这个.

emacs emacs-faces

6
推荐指数
1
解决办法
2937
查看次数

根据主模式更改Emacs模式 - 线条颜色

我想看看是否有办法在主模式下更改模式链接前景和背景颜色,

我正在考虑添加逻辑

(add-hook 'after-change-major-mode-hook
Run Code Online (Sandbox Code Playgroud)

但是,我没有所有emacs lisp经验来做出这样的改变.这是逻辑:

switch major-mode:
case "emacs-lisp-mode":
  (set-face-foreground 'mode-line "ivory")
  (set-face-background 'mode-line "DarkOrange2")
case "ruby-mode":
  (set-face-foreground 'mode-line "white")
  (set-face-background 'mode-line "red")
...
default:
  (set-face-foreground 'mode-line "black")
  (set-face-background 'mode-line "white")
end switch
Run Code Online (Sandbox Code Playgroud)

提前谢谢了!.

emacs elisp modeline emacs-faces

6
推荐指数
1
解决办法
3155
查看次数