
Emacs 折腾日记
文章平均质量分 92
aluluka
这个作者很懒,什么都没留下…
展开
-
Emacs 折腾日记(十九)——配置输入法和vim操作方式
上一篇文章中,我们将Emacs变得稍微好看了点。换成了自己喜欢的主题和颜色,这样每天用起来也比较养眼,不会特别排斥。本篇文章的主要任务就是配置输入法方便输入中文以及将vim的操作模式搬到Emacs中。进一步提到Emacs的可用性。原创 2025-03-25 21:39:07 · 772 阅读 · 0 评论 -
Emacs 折腾日记(十八)——改变Emacs的样貌
截止到上一篇文章为止,之前的内容都看完了,虽然它的后记部分提供了一些后续进阶的内容需要我们自己读手册。但是我不太想继续在elisp上死磕了。看着自己学了那么久的elisp,但是自己的emacs仍然没有半点改变,这个时候各位读者的兴趣一定会大打折扣,是时候试试配置一下自己的emacs了。教程后记中提到的内容等配置的时候涉及到了再来了解吧所谓人靠衣装马靠鞍,一个编辑器好不好用首先要看的就是它好不好看,对于难看的编辑器可能一眼就要给它发卡了——“你是一个很优秀的编辑器,但是我们不合适”。原创 2025-03-17 21:51:53 · 1072 阅读 · 0 评论 -
Emacs 折腾日记(十七)——文本属性
我们在上一篇中介绍了如何对文件中的文本进行操作,本篇主要来介绍关于文本的属性。是的,文本也有属性。这里的文本属性有点类似于Word中的文字属性,文本中对应的字符只是文本属性的一种,它还包括文本大小、字体、颜色等等内容。Emacs中的文本也是类似的。于符号的属性类似,文本的属性也是由键值对构成。名 字和值都可以是一个 lisp 对象,但是通常名字都是一个符号,这样可以用这个 符号来查找相应的属性值。复制文本通常都会复制相应的字符的文本属性,但是 也可以用相应的函数只复制文本字符串,比如。原创 2025-03-16 21:10:12 · 611 阅读 · 0 评论 -
Emacs 折腾日记(五)——elisp 数字类型
本文是参考写的,很多东西都是照搬里面的内容,如果各位读者觉得本文没有这篇教程优秀或者有抄袭嫌疑、又或者觉得我更新比较慢、再或者其他什么原因,请直接阅读上述链接中的教程。上一篇我们讲了elisp中的流程控制结构相关的内容,下面就该进入到对应数据结构的学习了。elisp中主要的数据结构有:整数、浮点数、列表、符号、向量、散列表等等类型。下面我们先从最简单的类型——整数和浮点数说起。原创 2024-12-21 21:16:44 · 694 阅读 · 0 评论 -
Emacs 折腾日记(十五)——窗口
在上一节提到,当前buffer不一定是当前显示在屏幕上的那个buffer,想要修改显示的buffer,可以使用窗口相关的api。这节来介绍一些窗口的操作。窗口是屏幕上用于显示一个缓冲区 的部分。和它要区分开来的一个概念是 frame。frame 是 Emacs 能够使用屏幕的 部分。可以用窗口的观点来看 frame 和窗口,一个 frame 里可以容纳多个(至 少一个)窗口,而 Emacs 可以有多个 frame。原创 2025-03-07 11:09:28 · 776 阅读 · 0 评论 -
Emacs折腾日记(十四)——buffer操作
中的应该是正则表达式。但是我觉得目前来说正则表达式对我来说不是重点,而且正则表达式我还是比较了解,没必要专门去学习,在使用的时候看看相应的章节就好。况且现在有AI这个利器,在处理正则表达式应该问题不大。所以这里就略过这节,直接进入后面的学习截止到前面的一些文章,我觉得应该已经涉及到了emacs lisp中的语法要点,现在去看一些emacs配置中的代码不太会一头雾水了。离攒自己的配置又进了一步。期间我想过是不是可以跳过教程后面的内容直接进入配置的过程呢?原创 2025-02-21 10:07:26 · 1183 阅读 · 0 评论 -
Emacs折腾日记(十三)——函数、宏以及命令
之前在开篇介绍简单的elisp时候就提到过函数,后面的一些示例中也用到了一些函数,但是都是一些基本的概念,这篇将深入了解函数的一些特性。首先要判断一个符号是否是函数,可以使用 functionp 来判断。不光函数,以下几种functionp也返回t。原创 2025-02-19 11:11:46 · 845 阅读 · 0 评论 -
Emacs 折腾日记(十二)——变量
本文是依据而来在此之前我们已经了解了elisp中的全局变量和函数中的局部变量,也了解了elisp中各种数据类型。这一篇主要谈谈elisp中各种变量的生命周期和作用域。原创 2025-02-11 11:31:30 · 1029 阅读 · 0 评论 -
Emacs折腾日记(十一)——求值规则
截至到现在,我觉得我自己的elisp水平有了一定的提高,希望各位读者借助之前的文章也能有一些收获。现在已经可以尝试写一点elisp的程序了,但是如果想深入了解一下 lisp 是如何工作的,不妨先花些时间看看 lisp 的求值过程。对于我这样一个日常使用C/C++的程序员来说,习惯了C/C++的语法和写法,初次见到lisp这样使用括号并且主要是S-表达式的语言,开始总会有点不习惯,但是在尝试自己写了这么些文章之后,对lisp有那么一点感觉。这篇我想就着。原创 2025-01-21 21:09:12 · 880 阅读 · 0 评论 -
Emacs 折腾日记(十)——elisp符号
符号是有名字的对象,这么说可能有点抽象。我们先来回忆一下C/C++中关于符号的内容。C/C++最终被编译成机器码直接执行,在机器码中不存在变量名称,函数名称等字符,它只有一串地址。但是在写C/C++代码的时候有变量名,函数名,类名,对象名等等名称。编译器是如何做到将符号和地址关联起来的呢?答案是,编译器在编译阶段会提供一个符号表,符号表如何实现的我也不太清楚,但是它做到了关联一个地址和字符串符号的作用。原创 2025-01-20 15:34:43 · 1038 阅读 · 0 评论 -
Emacs 折腾日记(九)——elisp 数组与序列
与C/C++ 中的数组类似,elisp中的数组有如下特征在创建之初给定长度之后不允许后期修改长度数组中的每个元素都可以通过索引来获取,并且获取的算法时间复杂度为O(1)数组是自求值的数组中的的元素可以通过 aref 来获得,并且通过aset 来设置值根据上图,向量是数组中的一种。字符串也是特殊的数组,它是内部全部都是字符的数组(虽然elisp中没有字符这种数据类型)。教程中没有介绍 char-table 和 bool-vector,所以这里我也不打算介绍,后面要是真遇到了再看。原创 2025-01-15 14:27:37 · 936 阅读 · 0 评论 -
Emacs 折腾日记(八)——CONS CELL和列表
本篇我们来介绍emacs lisp中的第一种复核结构——列表类型。原创 2025-01-13 16:14:57 · 1037 阅读 · 0 评论 -
Emacs折腾日记(七)——布尔变量、逻辑运算符与位运算
通过前面的几节内容我们已经对elisp中基本类型有所了解了。中下一节开始就是讲相关容器。所以这一篇我将它作为基础类型的一个结尾,将平时会用到,但是之前没有涉及到的内容都包含进来。原创 2024-12-30 11:13:31 · 509 阅读 · 0 评论 -
Emacs折腾日记(六)——elisp字符与字符串类型
回忆以下在C/C++中学到的关于字符的知识,字符采用char来表示,它占一个字节,里面存储的是各个字符的编码。当然针对汉字或者其他东亚文字,一个char可能表达不了,它会用 2个或者3个字节来表示一个汉字。后来又有unicode字符,和wchar_t类型。而字符串则是以0结尾的字符数组。C/C++中经常会出现这样的经典考题它们分别占几个字节,它的考点主要有两个,第一就是指针类型存储的就是地址,它与具体的机器结构有关x86机器上占4个字节。第二个考点就是字符串里面藏了一个0作为字符串的结尾。原创 2024-12-28 23:39:39 · 644 阅读 · 0 评论 -
Emacs折腾日记(四)——elisp控制结构
目前我们接着学习elisp相关语法,这里我是按照来进行学习。与其说这是我自己写得教程到不如说是在这个上面做得注释。目前我不知道这样是否侵犯相关的知识产权。目前就先这样继续学习,继续写记录吧。闲话少说,进入本篇的正题,关于elisp的控制结构。一般编程语言都有三种控制结构:顺序结构、条件结构、循环结构。elisp同样有这三种控制结构。原创 2024-12-17 22:01:49 · 749 阅读 · 0 评论 -
Emacs折腾日记(三)——简单的elisp 入门
作为一门函数式编程语言,函数是elisp的一等公民。如何使用一个函数我们已经在前面的hello world程序中见识过了,那么如何定义一个函数呢?定义一个函数使用defun关键字。它的语法如下body)第一行代表一个函数名和函数的参数列表,第二行表示可以使用一个双引号包含函数的说明文档,Emacs是一个自文档的系统,后续我们可以查看这里写的文档。最后一行是函数的主体内容,例如下面的例子;执行将会输出对应的信息。我们将光标移动到say-hello这个函数上,执行C-h f。原创 2024-12-11 22:39:00 · 667 阅读 · 0 评论 -
Emacs 折腾日记(二)——Emacs简单入门
在学习玩Vim之后,Emacs 的一些概念就变得很好理解了,很多东西都根vim是相似的。原创 2024-12-07 21:04:02 · 1024 阅读 · 0 评论 -
emacs 折腾日记(一)——序言
初次知道emacs这个东西是在《程序员的呐喊》这本书。书中的作者提倡学习编译原理,推崇emacs。现在距离我知道emacs已经过去了快8年,期间不断的重复学习——放弃——学习的路子。与过去学习vim类似,vim我也经历过放弃到学习,最后有项目需要使用Vim在Linux上开发,没办法慢慢学会了它的操作,以及一些简单的配置。后来我写了vim的操作和配置,我发现这样做很有用首先就是在写vim操作的时候,相关的概念和操作技巧我又重新梳理了一遍,加深了它的印象,过去一些不怎么用的操作我发现在之后我用的越来越顺手。原创 2024-12-05 21:59:55 · 747 阅读 · 0 评论