Emacs玩家的结局

Emacs 玩家的结局

劝退

可能是界面丑陋,可能是操作逆天,我下载完看了一眼就卸载了

Evil

借助Evil的力量,我打开了Emacs的大门,但是很长的时间我无法离开Evil的力量

记事本

打开当记事本用,鼠标复制粘贴,箭头移动。问就是在用Emacs

开箱即用

他山之石,可以攻玉,直接选择SpaceEmacs/DoomEmacs/CentaurEmacs/Other

传教士

将Emacs安利给碰到的每一个人,Emacs的好处背的滚瓜烂熟,Emacs煮咖啡的故事讲了无数遍

人文关怀

关心同好的健康和心态,希望大家都能活到一百二十岁

参与Emacs开发

现在Emacs里面有我的灵魂了!

插件作者

将日常routine和奇思妙想制作成插件,Emacs越来越像我的形状

教程作者

为Emacs制作适合当前环境的文字视频教程,AI的到来缓解了我更新教程的压力

论坛常驻

积极参与Emacs相关的话题讨论,搬运各种Emacs消息,热切希望Emacs能有更多新人学习讨论

爱人错过

很早听说过Emacs很牛,然后忘了这回事了

恋人未满

曾经对Emacs爱(折腾)得死去活来,后来抵御不住新生代编辑器的诱惑

天人合一

你并不知道你在用Emacs,除非有人问你这用的是什么编辑器

广告

你只是发广告的,不论是什么论坛,你都要发

9 个赞

思路来自于某游戏二创视频,感觉很有新意,想要自己也做一个emacs相关的。可自己闭门造车只能憋出这几个。 :sweat_smile:

emacs 还能煮咖啡?

3 个赞

Vibe Coder

已经五个月没打开 Emacs 了

飞升

因为拥抱 RMS 式的生活方式,已经上不了需要現代浏览器的论坛了

神人

零秒精通 Emacs

6 个赞

弱水三千

平时根本不用Emacs编辑文档,只把Emacs当作输出html的后端使用。

枭雄

致力于用其它语言打造更好的类Emacs编辑器,然后折戟。

香子兰

认为Vanilla Emacs足够开箱即用,从来不折腾配置。

单推人

org mode重度依赖,以致于放弃了成为dd。

结构主义者

沉迷于Emacs.exe的构建和移植,以致于编译的时间大于编程的时间。

潜行者

在论坛潜水但是从来不露头。

狠人

我的Emacs死了,但他给我整活了

5 个赞

分形主义者

Emacs可以装在任何机器任何系统上,服务器、本地电脑、嵌入式主板、Ubuntu、安卓、windows

1 个赞

其实是 READONLY

3 个赞

远虑者

AI 和 Emacs 要怎么结合?AI 时代下的 Emacs 何去何从?

2 个赞

巴别塔建造师

收藏了 47 个语言层的配置,每天在不同编程语言间切换 major mode,却发现自己已经忘了怎么写真正的代码。

赎罪券贩子

每发现一个新包就加进配置,配置加载时间从 3 秒变成 3 分钟,但坚信只要再优化一次 use-package 的 defer 就能赎清罪孽。

时间领主

C-x C-s 的肌肉记忆已经渗入骨髓,在浏览器里写邮件、在微信里回消息,都会下意识按一遍保存快捷键。

遗民

坚持使用 Emacs 的邮件客户端处理工作邮件,在 2026 年依然用纯文本回复 HTML 邮件,附件永远是 .org 文件。

考古学家

沉迷于在邮件列表挖掘二十年前的讨论线程,试图理解为什么某个变量要这样命名,并坚信 2001 年的 Emacs 才是真正的 Emacs。

缓冲区囤积者

同时打开 47 个未保存的缓冲区,每个都以 scratch<数字> 命名,坚信某天会整理它们,而系统重启时全部化为 /dev/null 的一声叹息。

助记符囚徒

为每个 M-x 命令绑定前缀键,前缀键又绑定更多前缀键,形成七层嵌套的键位地图,最终需要按下 C-c C-e C-o C-r C-g 才能打开 org-capture,而默认的 C-c c 早已遗忘。

补全瘾君子

在 company-mode 中为 M-x 命令补全添加了七层后端(capf → elisp → files → functions → semantic → tags → yasnippet),每次输入触发全量扫描,最终在输入 M-x 后等待 8 秒才看到第一个候选

11 个赞

对呀 难道没有Emacser 整一个能在eww里面支持RW模式的patch吗 :grin:

劝退者

在新人面前如实的说明Emacs学习难度,劝退新人。

6 个赞

反正是对着ai agent用打字形式bb,相比terminal,我选择在Emacs里开个cluade code对着它bb,编辑舒适度比terminal中拙劣的快捷键舒服多了

当务之急,Emacs需要支持话筒 :smiley:

1 个赞

哈哈,真实!每次学生问我,你这啥编辑器啊

(我上课用Emacs给学生写随堂代码,Doom主题胭颜值加上花里胡哨的编辑,还是很有吸引力的)

我都无情回复:这是Emacs,不过你们去用vscode吧,这个太费时间了,抓紧时间写python深度学习炼丹去吧

威信 +2
老登属性 +10
神秘感 +5

14 个赞

近忧者

我的Emacs怎么启动有白闪?怎么补全跳不出来了?直接启动是可以的怎么改成Daemon就不行了?

1 个赞

你这个才是真正的传教啊

3 个赞

在用它记账中 但是目前手写插件的能力不够 我需要ivy辅助进行自动查beancount中的账号 可恶 我好菜

bibibibb! 写好beancount的增加函数了 自动补全就算了啦 得看看怎么加hotkey了… local-set-key?

;; This buffer is for text that is not saved, and for Lisp evaluation.
;; To create a file, visit it with ‘C-x C-f’ and enter text in its buffer.

;;2026-01-01 open Assets:SaveAccount
;;2026-01-01 open Assets:CheckAccount
;;2026-01-01 open Assets:Plan

(use-package ivy :ensure t)

(defun my-string-match-all (r data)
  (let ((start 0)
	matches)
    (while (string-match r data start)
      (push (match-string 1 data) matches)
      (setq start (match-end 0)))
    (nreverse matches)))

(defun beancount--list-account (prompt)
  (ivy-read prompt
	      (let ((bill (buffer-substring-no-properties (point-min) (point-max))))
	(my-string-match-all "[0-9]*-[0-9]*-[0-9]* open \\(.*\\);?" bill)
	)
	      :action (lambda (s) (insert s) (message "=> %s" s))))

(defun beancount--find-account ()
  (interactive)
  (beancount--list-account "beancount account:: "))

(defvar beancount--deal-default-unit "CNY" "the default unit CNY for beancount--deal function")

(defun beancount--deal ()
  "Beancount, generate a bill which fit the beancount bill"
  (interactive)
  ;; read the bill desc
  (let* ((date-now (format-time-string "%Y-%m-%d"))
	 (date-read-t (format "Bill Date [%s]: " date-now))
	 (bill-date
	  (read-string date-read-t nil nil (format-time-string "%Y-%m-%d")))
	 ;; bill date complete
  	 (title (read-string "Bill Title: "))
	 (detail (read-string "Bill Detail: "))
	 (bill-desc (format "%s * \"%s\" \"%s\"" bill-date title detail)))
    (newline)
    ;; insert the title complete
    (insert bill-desc))
  ;; loop until done, how to complete it?
  (let ((i 1)
	(sum-amount 0))
    (while (not (= i sum-amount))
      (setq i 0)
      (newline)
      (insert 
       (beancount--list-account "Deal Account: "))
      (insert "\t")
      (let* ((amount (read-string (format "amount[rest: %s] (unit: CNY) " sum-amount)))
	     (amount-text (format "%s %s" amount beancount--deal-default-unit)))
	(setq sum-amount (+ sum-amount (string-to-number amount)))
	(insert amount-text)))))

因为是在termux上使用 所以直接用c-c d直接调用选择是最快的 嘻嘻


陷入黑暗

被虚空中lisp的低语滋扰,久久不能从它的影响中脱离,你看得到它 但碰不到它

1 个赞

失敬,原来还是一名人民教师,人类灵魂工程师

1 个赞

毁灭,重生

当传奇成为枷锁,唯有重生才能打破规则 — Neomacs

4 个赞

别,灵魂不了一点,顶多教点学生“赛博拧螺丝”技术,一天天的不知道在干啥。。。(不过Emacs拧螺丝就是快啊 :see_no_evil_monkey:

就吊着胃口,是吧,迟早有人掉进坑里

2 个赞