`
我的论坛
准备图表 我们的目标是构造一个图表显示Emacs lisp源码中所有函数定义的长度范围。 在实际应用中,如果你要创建一个图表,你可能会使用gnuplot之类的程序来完成这个工作。(gnuplot与GNU Emacs集成得很好。)但在这里,我们将使 ...
准备在读完后再整理一下合成一篇,与大家分享!
统计defun中的单词数量 我们的下一个计划是统计函数定义中的单词数量。我们可以使用count-word-region函数的一些变种(正则 表达式方式)来完成这个工作。如果我们只是需要统计定义中的单词数量的话,可以简单的使用C-M-h(mark-defun)命令,然后调用count- word-region。 但我们要进行的是一项雄心勃勃的计划:我们需要统计Emacs源码中所有的函数和符号并打印出各个长度的函数分别有多少个:包含40至49个单词或符号的有多少,包含50到59个单词或符号的有多少,等等。 分割任务 这个任务目标使人畏惧;但如果将它分割成多个小的步骤,每次我们只处理其中的一部分, ...
计数:重复和正则表达式 重复执行和正则表达式是Emacs Lisp中非常强大的工具。这章讲解使用while循环和递归结合正则表达式进行查找进行字数统计。 字数统计 标准的Emacs发行版中包含了一个统计region中行数的函数。但没有统计 ...
循环和递归 Emacs Lisp有两种方式循环执行语句:使用while循环,或者使用递归。 while while测试它的第一个参数的值,如果为false,解释器将不会执行语句的body部分。如果为true,解释器将执行语句的body部分,然后重新测试第一个 ...
Yanking Text Back 当使用'kill'命令剪切文本时,可以用'yank'命令恢复它。被剪切的文本被放到kill ring,yank命令可以将文本恢复。 C-y(yank)命令插入kill ring中的第一个元素到缓冲区。如果C-y命令后立即跟一个M-y,则插入的文本将被替换为kill ring的第二个元素。连续的按M-y,将使用kill ring中更靠后的文本替换前一次操作插入的文本。当到达最后一个元素时,又将从第一个元素开始。(这也是kill ring被称作ring而不是list的原因)然而实际上保存了文本的数据结构是list。 Kill Ring Overview kil ...
使用muse生成了这个笔记的html版本。里面有带链接的索引,浏览起来比较方便。可以从附件下载。 以后有新的更新时,我会同时更新这个链接。 这个发布文件使用的薛瑞尼所写的Muse CSS文件。
List的实现 Lisp中list使用了连续的指针对来保存数据,指针对的第一个指针指向一个原子或者另一个list,指针对的第二个指针指向另一个指针对,或者指向nil,以表明list的结束。 List图示 举例来说,list(rose violet buttercup)有3个元 ...
剪切和存储文本 当使用'kill'命令剪切文本时,Emacs将它存储到一个列表中,可以用'yank'命令重新获取到。 存储文本到列表 当文本被剪切出缓冲区时,它将被存储到一个list中。文本块连续的存储在list中,这个列表看如下面的形式: <src lang="lisp" piece="" previous="" text="" of="" a=""></src> 函数cons可以添加文本块到list,如: (cons "another ...
我也只是出于对Emacs的兴趣,想尽量看懂别人写的.emacs文件
Global site tag (gtag.js) - Google Analytics