elisp

aluluka9 天前
emacs·lisp·elisp
《elisp 每日一练》——Emacs的启动加速在前面的一系列博文中,我们接触到了两种能加速Emacs启动的方案:字节编译和 autoload 机制。今天我们从Emacs启动的角度理解它们是如何做到加速的。方便读者日后能更加灵活的使用这套机制。
aluluka17 天前
emacs·lisp·elisp
《elisp 每日一练》——定时器与进程调用综合练习在前面一系列文章中,我们讨论了定时器以及同步和异步方式调用进程。本篇是回顾和综合练习篇首先我们介绍了两种定时器:
aluluka18 天前
json·emacs·lisp·elisp
《elisp 每日一练》——Process Sentinel 与 json集成在前面我们介绍了 make-process 创建异步进程并且通过 :filter 设置数据过滤。今天我们来讨论它的另一个关键字 :sentinel 。并且现在很多第三方工具输出都是采用json进行,特别是一些网络的api接口。因此我们需要额外掌握Emacs中是如何处理json数据的
aluluka22 天前
emacs·lisp·elisp
《elisp 每日一练》——定时器机制在前面的一系列文章,我们介绍了hook和advice。现在我们开始进入下一个专题,关于定时器、外部进程调用的部分。Emacs本质上仍然是一个单线程同步的程序,一旦遇到比较耗时的操作就会卡死主界面。通过这一专题的相关技术,可以有效的缓解卡死的现象。
aluluka24 天前
emacs·lisp·elisp
《elisp 每日一练》——hook 与 advice 综合练习在前面的一系列文章中我们系统性的介绍了hook与advice 机制,现在我们来进行一个回顾和对应的综合练习
aluluka1 个月前
emacs·lisp·elisp
《elisp 每日一练》—— syntax table 与 font lock在前面一节的练习,我们做了一个简单的c 语言语法着色的效果。我们再回看一下代码发现,在设置关联的时候我们实际上没有设置 syntax-table,纯粹靠着正则表达式匹配特定字符和文本结构就完成了着色。这么做也有一个问题,就是它会遇到关键字、就着色,不管它出现的位置。读者可以使用下面的代码来测试一下
aluluka2 个月前
emacs·lisp·elisp
《elisp 每日一练》——状态栏显示管理与modeline 动态更新前面几篇我们陆陆续续的分析了 define-mode-line 中管理开关变量、快捷键相关的内容。我们可以通过 init-value、global来设置开关变量的初始值和是否定义为全局启动。通过 keymap 可以定义快捷键的keymap。现在我们来讨论 lighter 关键字的相关内容
aluluka2 个月前
emacs·lisp·elisp
《elisp 每日一练》——minor mode 快捷键管理在之前,我们定义的 windows-notepad-mode 通过使用 :keymap 关键字绑定了快捷键,今天我们来讨论它具体做了什么
我是有底线的