首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

30岁文转码:我用了三年时间从哲学家变成知名软件项目核心开发

此外,Emacs 还是自文档化,意味着它能理解变量值何时发生变化、并在对应帮助缓冲区通知用户。同理,Emacs 也能反映出各类函数新值与当前状况关联。...下面,咱们就一起来看几个无需多高技术水平就能实现常见工作流程: 使用补全框架对文件内容进行异步搜索,将结果放在专用缓冲区内并就地编辑。最后,把变更传播至所有相关文件。...而在 Emacs 当中,每个新功能包都会自动获取其他包内已有内容,例如相同字体配置和主题、通用操作和交互模式等等。以此为基础,我们就能极大加快工作流推进速度。...前者体现在代码库遵循许可上,后者则体现在代码库自身内容——即整个使用感受,以及代码库如何与特定环境其他程序或工作流程相匹配。我觉得软件自由这个议题特别有意思,值得深入发掘。...Emacs 则可以实时评估代码,而且开放完整源代码及相关说明文档。正是有了这样开放性,我才能了解如何定义函数,再通过反复试验编写出人生第一条自定义 Elisp

35430

Emacs Lisp

;; 缓冲区也叫做工作区,在Emacs打开一个文件,实际只是在Emacs构造该文件一个副本,放到缓冲区, ;; 在Emacs对该文件编辑也是针对该副本编辑,唯有保存改动时,Emacs才会把缓冲区内容在复制到原文件中去...;; ;; ;; 如何切换Emacs工作模式 ;; Emacs有各种各样功能各异模式,工作模式含义其实就是Emacs对当前文本编辑工作 ;; 更加敏感,比如高亮和缩进,并且支持一些特殊命令...;; 为了实验本教程lisp命令,我们要让Emacs工作在lisp-interaction-mode工作模式下, ;; 这个模式可以让我们在缓冲区中和Emacs进行互动,并且直接执行Lisp命令,得到结果...在缓冲区插入计算结果,我们还可以在表达式末尾使用C-x C-e组合键 ;; C-x C-e意思是: 先按下Ctrl-x 再按下Ctrl-e ;; 这个命令会让Emacs在辅助缓冲区,也就是Emacs...安装了这个hello函数,这个函数就成为了Emacs一部分,知道你退出Emacs或者改变hello定义 ;; 从下面开始,我们将不再提醒读者使用C-x C-e来定义函数和执行ELisp指令 ;

2.2K30
您找到你想要的搜索结果了吗?
是的
没有找到

Emacs Lisp2

;; 缓冲区也叫做工作区,在Emacs打开一个文件,实际只是在Emacs构造该文件一个副本,放到缓冲区,;; 在Emacs对该文件编辑也是针对该副本编辑,唯有保存改动时,Emacs才会把缓冲区内容在复制到原文件中去...;;;; ;; 如何切换Emacs工作模式 ;; Emacs有各种各样功能各异模式,工作模式含义其实就是Emacs对当前文本编辑工作;; 更加敏感,比如高亮和缩进,并且支持一些特殊命令。...并且键入Ctrl-j (之后将简写成C-j);; C-j是一个快捷命令,在后台,该快捷键将调用求值命令,并且把计算结果;; 插入到当前缓冲区;; 如果不希望Emacs缓冲区插入计算结果,我们还可以在表达式末尾使用...C-x C-e组合键;; C-x C-e意思是: 先按下Ctrl-x 再按下Ctrl-e ;; 这个命令会让Emacs在辅助缓冲区,也就是Emacs窗口最底部那行显示计算结果;; ELisp赋值函数是是...安装了这个hello函数,这个函数就成为了Emacs一部分,知道你退出Emacs或者改变hello定义;; 从下面开始,我们将不再提醒读者使用C-x C-e来定义函数和执行ELisp指令;; 在Elisp

94740

Emacs Lisp

;; 缓冲区也叫做工作区,在Emacs打开一个文件,实际只是在Emacs构造该文件一个副本,放到缓冲区, ;; 在Emacs对该文件编辑也是针对该副本编辑,唯有保存改动时,Emacs才会把缓冲区内容在复制到原文件中去...;; ;; ;; 如何切换Emacs工作模式 ;; Emacs有各种各样功能各异模式,工作模式含义其实就是Emacs对当前文本编辑工作 ;; 更加敏感,比如高亮和缩进,并且支持一些特殊命令...;; 为了实验本教程lisp命令,我们要让Emacs工作在lisp-interaction-mode工作模式下, ;; 这个模式可以让我们在缓冲区中和Emacs进行互动,并且直接执行Lisp命令,得到结果...在缓冲区插入计算结果,我们还可以在表达式末尾使用C-x C-e组合键 ;; C-x C-e意思是: 先按下Ctrl-x 再按下Ctrl-e ;; 这个命令会让Emacs在辅助缓冲区,也就是Emacs...安装了这个hello函数,这个函数就成为了Emacs一部分,知道你退出Emacs或者改变hello定义 ;; 从下面开始,我们将不再提醒读者使用C-x C-e来定义函数和执行ELisp指令 ;

2.3K40

使用 RustC 开发 Emacs 插件

Emacs 在 25 版本后,支持了动态模块(dynamic modules),这为 Emacs 插件开发打开了新一扇大门,任何能够编译生成符合 Emacs ABI 要求语言都可以使用。...本文就来介绍,如何使用 C/Rust 两种语言来进行 Emacs 动态模块开发。本文所有代码可在 emacs-dynamic-module 这里找到。...Values 这里着重介绍下如何将 C 里面的函数导出到 ELisp emacs_value c_add(emacs_env *env, ptrdiff_t nargs, emacs_value...(env, "defalias"), 2, args); } 在 emacs_module_init 调用 define_elisp_function 即可将 c-add 导出到 ELisp 使用示例..., name)) } 相比 C 代码,这里代码简洁不少,通过 #[defun] 将 say_hello 函数导出到 ELisp ,并且函数名自动加上了前缀 greeting ,并提供了相应 feature

77220

编辑器专家 Emacs 世界

本期节目请来了一位使用 Emacs 15 年之久编辑器专家领蜂,在高中竞赛时获奖后,父母送给他一台个人电脑,这打开了他 Emacs 之旅。...由于其工作领域正好与编辑器相关,领蜂走上了一条专家型 Emacs 学习路线,接触 Emacs 三天即开始上手 ELisp,他是怎么做到?...30:05 浏览器内核发展之路与浏览器之战 • 00:38:30 在 Emacs 社区活动 • 00:44:44 ELisp 解释器为什么选用动态作用域 • 00:52:28 学习 ELisp 经历...Editor[10] • UE 为什么会逐渐消失 •10 Questions with Vim’s creator, Bram Moolenaar[11] 第八个问题 • 提问:如何确保 Vim 在可遇见将来继续成功...28 引入 JIT •2018 年,嘉宾对 Effective Emacs 回顾文章:到了2018年,还有学习Emacs必要吗?

50110

Emacs001学用Emacs之入门:关于配置文件

每一个领域都有专用工具,比如android开发用android sduio, 我先用emacs填补在使用这些好用专用ide之外任何地方。 最近打算好好体验下emacs。...本文主要解决如下三个问题 emacs配置文件在哪儿? 使用是什么语法? 怎么读配置文件(已经以后怎么自定义配置) emacs配置文件在哪儿 1. 使用单个文件: ~/.emacs 。...,可以很方便地把具体初始化工作按类别分在其余文件。推荐方法。...在window下目录(我): D:\Users\Frank\AppData\Roaming\.emacs.d D:\Users\Frank\.emacs.d emacs配置语言elisp 配置emacs...Emacs配置文档是用elisp语言写elisp是lisp一种方言。至于lisp语言,有人说它是黑客语言。

2.9K40

Emacs 之光成长历程

与大多数用户不同,嘉宾在接触 Emacs 不久即开始尝试攒写自己配置,并陆陆续续发布了几个比较实用包,比如 valign[1],嘉宾是如何做到?...更令人好奇是,嘉宾如何在短期内熟悉 Emacs 源码并为之贡献多个 patch,相信通过嘉宾学习、贡献经历,可以给听众打开 Emacs 源码神秘面纱,让更多用户参与到 Emacs 贡献,一个多小时分享...时间线 • 00:00:56 嘉宾自我介绍 • 00:02:20 Emacs 初相识 • 00:10:08 ELisp 学习经历 • 00:15:45 Emacs 可发现性 Discoverability...[5] • 对 Emacs 仓库提交记录[6] • 28 版本新增 shortdoc[7],解决手册冗长,提供简洁示例代码 •正则表达式两处文档: • 只介绍如何写正则 34.3 Regular...,句号后两个空格 • 注释用是 C 风格 /* */ ,而不是 C++ // • 函数名后面跟一个空格,再是括号 •读 Emacs 源码技巧 • lisp.h[12] 里面有 C 如何调用 ELisp

35710

如何快速使用 ELisp 进行插件编写

从这里例子看出,ELisp 文档虽然做很全,但是缺少很重要一个环节,即 demo。...而且程序员都很懒、很忙,去仔细看 manual 不现实,而且 Emacs manual 我感觉有些“重”了,文字太多了,看累,我需要仅仅是个很 copy 示例,然后再根据我需求改改就好了,就行...clojuredocs 那样,比如 reduce[2] 页面: 幸好在 Emacs China TG 组交流“心得”后,发现了 elisp-demos[3] 插件,可以在 helpful 页面展示函数用法...: 最后,再推荐一个教程,供有其他 Lisp 经验程序员快速使用 ELisp。...• https://github.com/chrisdone/elisp-guide 引用链接 [1] feature: https://github.com/clojure-emacs/cider/pull

74220

与 stardiviner 聊 Emacs 与他与众不同的人生经历

本期节目又请来了一资深 Emacs 用户 stardiviner[1],同时也是一名淘宝店主,用来售卖自己 IT 技能。 从 org-mode 使用者到贡献者,他是如何做到?...在一次次选择,他逐渐远离“常人”走过路,这其中或许有一时鲁莽,但更多是他勇于突破传统束缚,逐渐形成了其独特做事风格。近一个半小时内容,“湿货”十足,不容错过!...本期人物 • 主播:西瓜[2] • 嘉宾:stardiviner[3] 时间轴 • 00:02:09 嘉宾学习 Emacs 经历 • 00:10:35 org mode 介绍 • 00:15:15 Elisp...• kiwix[5] 在 Emacs 离线搜索 Wikipedia •开淘宝店售卖咨询 • 19 年开始 • 顾客五花八门,高中生、大学生、清华、北大、以及海外学生 • 为服务付费 •如何给服务定价...The Smart Way[7] • org-link-beautify[8] org 美化插件,方便区分不同格式链接(PDF/图片/视频等) • Clojure[9] •主播分享 • 使用 Emacs

35820

与架构师 redraiment 闲聊 Emacs

如果 EmacsTalk 对您有所帮助 • 欢迎在各大播客平台留言、打分、转发 • 也欢迎您为本节目进行打赏支持[1] ❤️ 概要 本期嘉宾是使用十二年 Emacs 资深用户张泽鹏(网络ID:redraiment...得益于 Emacs 其无与伦比“开放性”,嘉宾使用它打造出符合自己理念高效开发环境。Emacs 对于嘉宾来说,即使生产力工具,也是“玩具”,在“玩”过程,来学习新技能。...使用 Emacs 多年后,万物可编辑思维给嘉宾日常工作带来很多启发,总结出一篇与系统设计文章:编辑器思维与系统设计思想[2],这其中精华都会在节目中聊到,近一个小时节目,精彩不容错过。...时间线 • 00:00:42 嘉宾自我介绍 • 00:04:18 为什么选择 Emacs • 00:11:11 ELisp 学习经历 • 00:21:34 Emacs 对嘉宾思维影响 • 00:33:...56 使用 ELisp 开发微信小程序经历 • 00:43:20 函数式编程优势 • 00:58:06 推荐 Show Notes • 嘉宾介绍 • 姓名:张泽鹏 • 邮件:redraiment@gmail.com

26220

Emacs 高手陈斌闲聊 Emacs

本期节目请来了一位使用 Emacs 近十年资深用户陈斌[1],他是著名文章《一年成为 Emacs 高手》[2]作者,同时也是一位拥有近二十年软件开发经验前辈。...抵触 Emacs 近十年后,陈斌用一年时间就成为了 Emacs 高手,他是怎么做到?是什么样契机让他打开了 Emacs 这个潘多拉魔盒? 作为一个拥有众多插件开源软件维护者,如何处理用户不满?...如何调节生活与维护压力?陈斌给出了自己答案。此外,节目里还聊到了 Emacs 与 VSCode/Vim 等开发理念上区别,学习这些软知识,非常有助于加深对 Emacs 理解。...嘉宾列举一些 Emacs 技巧 • 00:21:30 Emacs 开放性,与其他编辑器区别,“乱” VS “自由” • 00:26:31 嘉宾学习 ELisp 经历 • 00:30:02 嘉宾对维护开源项目的态度...技巧分享 • 在项目中查找文件 find-file-in-project[7] • ELisp API 多,不同插件之间可以相互调用 •Elisp 学习经历 • 潜移默化,没有特意去学 •对待开源态度

92010

与 tumashu 聊 Emacs 中文输入法

概要 本期节目请来了一位非科班 Emacs 资深用户冯书(aka tumashu),Emacs 中文输入法 pyim[1] 作者。作为一位卫健委信息中心办事人员,他是如何接触到 Emacs ?...pyim 工作原理是怎么样,与 emacs-rime[2] 有什么区别? 接触 Emacs 十余年后,嘉宾总结出一套五个阶段 Emacs 学习境界[3],每个境界需要技能是什么?如何去突破?...XFT[6] •使用 Emacs 内置输入法优势 1....输入中文与敲 Emacs 命令自动切换 2. 直接使用拼音搜中文内容 •拼音搜中文实现方案主要有两个 1. 把输入拼音正则,利用 pyim 转化为对于汉字正则,然后直接去搜 2....把搜索目标汉字转为拼音,然后再用输入正则去匹配 • Child Frames[7]•弹出框三种方式1. posframe[8]2. popup[9]3.

67120

一名ClojurianEmacs配置

"http://melpa.org/packages/")点号(dot)表示法也比较奇怪,其实这是lispDotted pair表示法,用法和普通列表类似,但因为是pair缘故,你可以使用(...car )获取"melpa",(cdr )获取却不再是一个列表,而是"http://melpa.org/packages/"这个值本身。...对emacs lisp不熟悉不要紧,先找个教程练习一下它用法,比如learnxinyminutes就非常不错。完成这个教程,大体不会对elisp犯怵了。...接下来,只需要使用c-h v和c-h f查看elisp定义变量函数就能很快上手自行配置。...这种时候,我们就要求助于elisp文档了。在emacs按下c-h i获取主话题(topic)菜单,然后点击Elisp进入它操作指南。

2.7K20

Emacs 29快到了!我们能期待什么

除了 Elisp 开发,我编写大部分代码现在都是在 LSP 服务器帮助下完成,它与 Emacs 一起运行并分析我代码,为我建议和执行更改和操作。...在我例子,当缓冲区内容更新时,我有时会看到一些幻影文本(尽管我仍然需要纯 GTK,因为我在 Xorg 和 Wayland 之间交替)。.../usr/bin/emacs -x,Emacs 不会读取它 init 文件(如 with -Q),而是会立即执行 Elisp 代码并将最后一个值返回给脚本调用者(很可能是您调用脚本 shell从)...更好鼠标和触摸板支持 Emacs 现在使用 XInput 2,它使 Emacs 能够支持更多输入事件,例如触摸板事件。例如,默认情况下,触摸板上捏合手势会增大或减小当前缓冲区文本大小。...Emacs WebKit 小部件浏览器 WebKit 检查器 在 Emacs使用 WebKit 小部件浏览器时,您现在可以访问 WebKit 检查器,前提是您使用 Emacs 版本是用它编译

2.4K20

10 个让你进入 Emacs 世界技巧

例如,如果你不知道如何Emacs 只用键盘快捷键复制一个单词,编辑菜单复制、剪切和粘贴选择提供了最轻松路径。没有理由因为选择了 Emacs 而惩罚自己。...使用菜单,用鼠标选择区域,点击缓冲区按钮,不要让陌生感阻碍你工作效率。 image.png 这些功能被内置到 Emacs ,是因为用户在使用它们。...在 Emacs ,“框架”就是现代计算机所说“窗口”。 缓冲区(Buffer):“缓冲区”是 Emacs 一个通信通道。...探索新功能 Emacs 所做大部分工作都是一个 elisp 函数,它可以从菜单选择和键盘快捷键调用,或者在某些情况下从特定事件调用。...如果你想让 Emacs 在你计算生活扮演重要角色,最终关键是拥抱未知,开始使用 Emacs。磕磕绊绊地,直到你发现如何让它为你工作,然后安下心来,享受 40 年舒适生活。

78020

Emacs 29.1 版本发布了

, emoji-recent: 方便快捷Emacs 输入 emoji package-update, package-update-all: 更新包,无需再使用 list-packages...C-x w 内找到 elisp-eval-region-or-buffer: 如果有 region,执行 region 内 elisp 代码,否则就是整个 buffer recentf-open:...browse-url 等函数时,默认 URl scheme,默认是 http xref-history-storage : 如何保存 xref 历史 marker,一个有用选项是 xref-window-local-history...tramp 支持了 docker podman kubernetes Org 升级到 v9.6 C++ mode 支持 C++20 新语法 Deprecated linum.el 正式作废,推荐使用...Emacs 可以更方便用于脚本。 #!/usr/bin/emacs -x 会跳过 init.el 文件,直接执行文件后面的内容,最后一个表达式为脚本退出码。

42820

与子龙山人聊 Emacs 与程序员修炼之道

• 新手推荐 doom-emacs,spacemacs 历史包袱有些重 • 从 prelude[4] 那里学了不少 ELisp 知识 •是否需要把 Emacs 当作“操作系统” • 已经参加工作的人尤其要注意...,“自由”软件意义就在于用最合适工具解决问题 •嘉宾对新人学 Emacs 建议 • 学生的话,在学习算法、操作系统时,使用 org mode 来记录学习过程,org-babel 来执行代码片段,这被称为..., make it better, make it faster • 在做项目时,不要迷失在细枝末节,找到对你职业生涯最重要部分,熟练掌握它 • 在漫长职业生涯跳槽时,要有一个长远计划,朝一个方向不断前进...•如何在繁忙工作中进行提升?...首推使用泛用性播客客户端订阅 RSS[13] 或在微信公众号 EmacsTalk[14] 收听 2.

51120
领券