给新手介绍Emacs名词的图

大家看看有没有什么需要改进的?

颜色丑点应该不影响……?

16 个赞

我感觉frame放窗口外面更好?frame,window和buffer画图不好区分啊

1 个赞

有点重合……我调整一下

同意。

并非总是一图胜千言,有时候文字表达更清晰。

buffer 是无形的东西,圈一个矩形反而引起混淆。就拿 minibuffer 和 echo area 来说,初学者肯定很蒙b前后两张图底部红框有什么不同。

1 个赞

嗯,图文并茂肯定是最准确,内容最丰富的,我可以在旁边加一些解释性的文字,弄一张大图。

要说明 fame、window 的关系,应该用更“立体”一些的图,例如:

        +===============================+                       
        |                               |
    +===============================+   |
    |                               |   |
+===============================+   |   |
|              |                |   |   | ..... Frame 3
|   Window 2   |                |   |   |
|              |                |   |---+
|--------------|    Window 1    |   | ......... Frame 2
|              |                |---+
|   Window 3   |                |
|              |                | ............. Frame 1
+-------------------------------+

旁注简单文字说明:

      1:n        1:n         1:1
Emacs ---- Frame ---- Window ---- Buffer

我认为 buffer 是让人比较困惑的概念,它既不是有形的窗体,也不是文件。


另外,region 的 mark 和 point 也可以进一步注明:mark(起点),point(终点)

其实 mark 也是 point,编辑区任意一点都是 point。

18 个赞

buffer 是一种数据结构,我们看到的不是 buffer 本身,而是它的表现形式。

就和我们看到的 (1 2 (5 6)) 也不是列表本身,而是它打印出来的形式一样。

4 个赞

这种图是怎么画出来的?手打?还是说有什么好用的工具?

移动的光标叫 cursor , 样式可以自定义。

window 两边有 fringe , 可以用来表示折行或者其他信息。

frame 顶部是 frame-title。

语法高亮是 font-lock。

颜色和样式相关的设置叫face,很多插件都会自定义face,这些颜色样式可以修改, 一些theme有时也会给流行的插件设置样式。

buffer 不是文件, 它是缓冲区, 作用是减少对磁盘读写, 当没有作保存操作时, 输入内容在主存而不是磁盘里。

4 个赞

Emacs 社区好像都说“point”,比较少用“cursor”这个词的。

我记得 point 指的是光标的位置, 光标应该是cursor, 因为有这样的设置:

(setq-default cursor-type 'box)
(blink-cursor-mode -1)
1 个赞

你这么说也对……

cursor是current-point的位置吧,不是还有max-point啥的概念吧,所以point泛指所有的位置,cursor是当前位置。。

你好。求一下字体名字。

是SF Mono

1 个赞

evil里叫的是cursor

artist-mode 了解一下

From http://www.jesshamrick.com/images/emacs/emacs-terminology.png :

7 个赞

对,insert point, 插入点,矩形光标的左边缘,这就是输入新字符的位置。这个概念比vi上清晰和精确。