设置emacs的外观

emacs的外观包括文本区的外观,辅助区的外观,状态行的外观,光标的外观等,

每个外观都有名字,并且都有下面属性:

  • Font Family: 字体名字
  • Font Foundry: ?
  • Width: 字体宽度
  • Height: 字体宽度
  • Weight: 字体重
  • Slant: 斜体
  • Underline: 下划线
  • Overline: 上划线
  • Strike-through: 透过线
  • Box around text: ?
  • Inverse-video: ?
  • Foreground: 前景色
  • Background: 背景色
  • Stipple: ?
  • Inherit: 继承别的外观

如何设置外观呢?emacs通过【Face】的东西来设置

face的定义:face可以定义字体,颜色等。大多数主编辑模式(major mode)分配各种face给函数名,注释,变量,关键字等,通过【Font Lock mode】。【Font Lock mode】的说明在后面。

Emacs can display text in several different styles, called faces. Each face can specify various face attributes, such as the font, height, weight, slant, foreground and background color, and underlining or overlining. Most major modes assign faces to the text automatically, via Font Lock mode.

注意:face里并不设定所有属性,没有被设定的属性就使用叫default的face的属性。比如face:popup-face,它只设定了前景色和背景色属性,所有它的其他属性的值就是face:default的相应属性的值。

这个概念非常重要,所以当改变了face:default里属性的值的话,就会影响所有face

list-faces-display :查看系统里有所有face

list-colors-display :查看系统里所有的颜色的名字和RGB值

set-face-foreground :改变指定face里的前景色(先输入要改变的face的名字,然后再输入颜色的名字)

set-face-background:改变指定face里的背景色(先输入要改变的face的名字,然后再输入颜色的名字)

ctrl h v 变量A:查看变量A的作用

Font Lock mode:

Font Lock mode is a minor mode, always local to a particular buffer, which assigns faces to (or fontifies) the text in the buffer. Each buffer's major mode tells Font Lock mode which text to fontify; for instance, programming language modes fontify syntactically relevant constructs like comments, strings, and function names.

Font Lock mode is enabled by default in major modes that support it. To toggle it in the current buffer, type M-x font-lock-mode.

font-lock-mode :作用在当前缓冲区

global-font-lock-mode:作用在当前缓冲区

Font Lock mode uses several specifically named faces to do its job, including font-lock-string-facefont-lock-comment-face, and others. The easiest way to find them all is to use

M-x customize-group 回车 font-lock-faces 回车. You can then use that customization buffer to customize the appearance of these faces.

从下图可以看出来:

1,关键字(font lock keyward face)后面是紫色,所以右面代码里关键字(template,protected,try等)部分全是紫色

2,函数名(font lock function name face)后面是蓝色,所以右面代码里函数名(insert,get_node等)部分全是蓝色

如何在上面的画面操作请参考Changing a Variable

注意:当通过用emacs改变变量的值后,会自动在.emacs里插入下面的代码。

(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
)

注意:当通过用emacs改变face的设定后,会自动在.emacs里插入下面的代码。

;;设置face:default的背景色为黑色,前景色为白色,字体大小为218
(custom-set-faces
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
)

注意:custom-set-facescustom-set-variables在.emacs里只能出现一次。

c/c++ 学习互助QQ群:877684253

本人微信:xiaoshitou5854

emacs 设置emacs的外观的更多相关文章

  1. emacs设置了单例模式后无法设定文件关联解决办法

    emacs设置单例模式的本质就是使用下列参数启动: C:\emacs-24.5\bin\emacsclientw.exe --no-wait --alternate-editor="C:\e ...

  2. emacs设置字体

    * C-h f set-default-font set-default-font is an alias for `set-frame-font' in `frame.el'. (set-defau ...

  3. Emacs: 设置窗口标题格式

    Emacs默认的窗口标题常常比较简单,例如我的默认标题是"emacs@ubuntu".如果想要在标题中显示更多的信息,我们可以对它进行一些设置.由于Emacs的可扩展性,这种修改实 ...

  4. emacs - GNU Emacs

    总览 (SYNOPSIS) emacs [ command-line switches ] [ files ... ] 描述 (DESCRIPTION) GNU Emacs 是 Emacs 的 一个 ...

  5. emacs 配置.emacs

    emacs 配置.emacs (require 'package) (package-initialize) (add-to-list'package-archives '("melpa&q ...

  6. iOS 11开发教程(十九)iOS11应用视图美化按钮之设置按钮的外观

    iOS 11开发教程(十九)iOS11应用视图美化按钮之设置按钮的外观 美化按钮说白了就是对按钮的属性进行设置,设置按钮的属性有两种方法:一种是使用编辑界面中的属性检查器:另一种是使用代码进行设置.以 ...

  7. 设置emacs启动窗口的两种方法

    1. 设置位置和大小 ;;设置窗口位置为屏库左上角(0,0) (set-frame-position (selected-frame) 0 0) ;;设置宽和高 (set-frame-width (s ...

  8. emacs设置tab缩进

    这两天使用Emacs自带的JavaScriptMode时,发现与其它编辑器下缩进不同,而且用emacs重新缩进对齐后,再用其它的编辑器打时缩进却乱掉了.分析应该是Tab缩进的问题,在.emacs中增加 ...

  9. mac系统下为emacs设置中文字体,解决乱码问题

    近期换了个系统,如今用mac系统. 当打开emacs后,中文支持的不是非常好.有的地方能显示.在.el文件的凝视里显示为口口口口口口口口这种框.例如以下图所看到的 找了半天.是由于中文字体的问题.仅仅 ...

随机推荐

  1. linux学习(十)Shell中的控制语句

    目录 1. 条件测试语句 1.1 test语句 1.2[]语句 1.3文件测试 1.4字符串测试 1.5数值测试 1.5逻辑操作符 @(Shell中的控制语句) 1. 条件测试语句 测试语句十Shel ...

  2. WD HC510 不能被识别

    折腾半天,终于记得去查官方文档

  3. TensorFlow从1到2(十一)变分自动编码器和图片自动生成

    基本概念 "变分自动编码器"(Variational Autoencoders,缩写:VAE)的概念来自Diederik P Kingma和Max Welling的论文<Au ...

  4. acwing 873. 欧拉函数 模板

    地址 https://www.acwing.com/problem/content/875/ 给定n个正整数ai,请你求出每个数的欧拉函数. 欧拉函数的定义 输入格式 第一行包含整数n. 接下来n行, ...

  5. mysql 经典练习题上

    MY SQL 三张表 emp 表, 字段empno, ename, job, mgr, hiredate, sal, comm, deptno dept表 , 字段 deptno, dname, lo ...

  6. 第05组 Beta冲刺(2/4)

    第05组 Beta冲刺(2/4) 队名:天码行空 组长博客连接 作业博客连接 团队燃尽图(共享): GitHub当日代码/文档签入记录展示(共享): 组员情况: 组员1:卢欢(组长) 过去两天完成了哪 ...

  7. java启动参数

    java命令启动应用所使用的参数,基本是用于JVM的,某种程度上也叫做JVM参数.总的来说,java启动参数共分为三大类,分别是: 标准参数(-):相对稳定的参数,每个版本的JVM都可用. 非标准X参 ...

  8. git 添加add readme.txt 报fatal: pathspec 'readme.txt' did not match any files错误

    刚刚接触git版本管理器,跟着廖雪峰老师的git教程学习,在创建一个新的文件时,使用的是$ git add readme.txt指令,但是报出fatal: pathspec 'readme.txt' ...

  9. Python代码报错看不懂?记住这20个报错提示单词轻松解决bug

    1. syntaxerror: invalid syntax语法错误:无效语法 1) syntax [ˈsɪntæks] 语法.句法 2) error [ˈerər] 错误 3) invalid [ɪ ...

  10. PHPer的项目RESTful API设计规范是怎样的?

    RESTful 是目前最流行的 API 设计规范,用于 Web 数据接口的设计. 什么是RESTful RESTful是一种软件设计风格, 主要用于客户端与服务端交互的软件. 一般来说RESTful ...