大家有没有只在终端上不在图形界面上使用emacs的啊?跟终端使用vim相比有何优势?
难说,vim特别是neovim/lazyvim完成度很高,不用折腾了。但是对我来说,最大的优势是emacs的按键绑定,或者说习惯。vim这套东西把按键占的特别全,改了其中一个按键,还得考虑把原来那个按键的功能调到合适的按键实在是麻烦。。。但是空着也不行,它不像emacs,按键和命令是绑定的。vim的按键映射走,原来的功能就没了。。。
终端的 Emacs 能有啥优势?(好奇)
主题配色问题, 与终端按键绑定冲突, 远程使用 ssh Emacs tui 组合按键不生效问题 都够呛了.
你说的恐怕就是我了. 可以从三方面考虑对你的价值问题如何判断. 一个是你用什么终端形态, 要不要ssh? 因为这涉及到平台的字符串编码规范和字体的兼容性问题. 二个是major-mode兼容性的问题, 显然终端没有X11, 而你要是嵌套终端的话, 历史负担可不是好相与的. 不过我给你一个操作
(dolist (k '("C-s" "C-q" "C-z" "C-c" "C-d" "C-h" "C-m" "C-j" "C-[" "C-i"))
(message "%-4s -> %s" k (key-binding (kbd k) t)))
你可以怼到mini-buffer检测各种和终端事实标准的冲突. C-s这个事情甚至Linus当学生的时候就有了. 三个是什么叫只, 我的“只”是说我用TUI Emacs作为完整输入功能的操作协议, 特别是因为苹果终端的汉语支持不错, 而我特别喜欢用汉语命名符号写lisp. 但是既然有X11 emacsclient, 还有TRAMP, 你有什么非直接用目标环境不可的理由? 我知道我是因为要效法乔布斯旧事, 打算home brew一个对标Symbolics Genera的lisp机器. 但如果你有成熟的devops流程, 只需要在目标环境做约定好的事情, 那么vim>>TUI emacs.
还有个额外的好处就是美学. Emacs TUI一看就像是花了大价钱买的Mainframe, 至少也是高端工作站, 老A8也是A8, 而vim怎么改都有MS-DOS的廉价感. 你看我这个通过CoolRetroTerm用Emacs以后, 是不是小味挠一下就上来了? 回头把Doom Emacs的脚手架去了, 就更好看了.
如何做到?
很简单的, 你把kebab理解成短语句法, 我们小时候语文课不都学过么? 就是什么并列短语, 偏正短语… 有十种, 然后该怎么弄就怎么弄, 这十种你都不用学, 汉语是你的母语, 读不读的通, 你自己还没数么? 单词接汉字的时候把hyphen省了, 汉语部分想用hyphen那就用地, 的, 得替代, 反正原来连字符也主要是表达修饰关系, 汉英混用的时候, 英语的部分该kebab还是kebab. 比较困难的是术语翻译, 因为同样的意思既可以说英语, 也可以说汉语. 我是搞数理逻辑的, 所以我兜底的办法是那种10年以上不变的, 比如群环域数学概念, 那就用汉语术语, 如果是多变的, 新的, 比如所谓领域驱动开发, 那就写ddd. 当然如果你要是团队用, 和我自己用就又不一样了, 团队用可以走Minimalist Grammar的思路归纳典型表达. 我这个东西的原理就是递归句法的名词从句性质, 就是说递归的时候几乎总是名词从句在嵌套, 而汉语其实也有类似的本质, 只不过是连起来的几句的线性命题陈述, 而不是一句内部的递归句法, 但是不要紧, 分析语表达别把顺序弄错就可以了. 实际上我就是把AST当成PRD功能定义的命题陈述擦除了什么东西以后的表示, 我也不知道擦除了什么, 但是不要紧, 汉字的稀疏性是如此之好, 以至于几个字符的符号序列就能对应到PRD文本的什么具体位置, 然后可以把当初的spec再解释回来了. 如此一来, 无论是common lisp还是clojure, 标准库写着写着就变成言出法随了. 普通程序员可能没有我玩λ的时间长, 我不仅知道蒙太古的形式λ, 还知道Martin Lof的见证λ, 以前还是搞宇宙学的, 所以给抽象取名字的时候处于总有办法的自由王国, 普通程序员这方面可能欠缺一些, 大概会要么想象力过剩最后胡言乱语, 要么瞪着算法不知道现在该叫什么.
哦哦,我还在想怎么在emacs lisp里用中文作为变量名呢 ![]()
应该也可以, 但是问题在于mini-buffer里面怎么输入汉字, macOS的那个系统IME在TUI里面是可以的. Emacs内部我记得23还是什么时候也早换了utf-8了. 但是Rime/GTK和Windows的情况我就不知道了.
我不只在终端用,macOS 下用 GUI。但目前主要工作环境是 Windows + WSL + TUI Emacs。
优势就是我会用 Emacs…… 认真讲,TUI Emacs 功能也是很全的,也是 Emacs。反过来讲,我配置 Emacs daemon 后快速编辑也是秒开,也感觉不到 vim 有什么优势。
说实话 我个人觉得 终端的emacs相比vim是没有优势的,反倒是把自己org这个优势给丢了。
org 在 emacs TUI 下也能正常使用啊,怎么说丢了 org 的优势?
我有史以来一直就在终端用,就算本机也在终端里。多少年了,我连gui的emacs都没安装过。
我也没明白,zsbd
有 gui 肯定用 gui,没有的话 tui 也行,反正主题都是专门挑过的终端可用,一套配置到处跑,快捷键都通过 meow-keypad 来按,不怕终端按不了
相比其他编辑器最大的优势就是有 org-mode,终端里写点记录啥的比 md 舒服多了
毕竟和鼠标有点八字不合.
终端里用vim更快,所以一直用vim,要是ssh登录的话只能vim,上面都没装emacs。GUI的话,用emacs和nvim。
相比终端 vim 的话, 因为长期当 IDE 用, 功能更复杂更熟悉.
启动速度优化到 0.2s 以后, 可以直接替代 vim, 方便多开, 无需 daemon.
纯终端版编译速度非常快, 一两分钟以内, 在各种远程环境 / docker 环境里自动化 setup 很方便.
目前一直在用TUI的emacs ![]()
好处是不用任何设置就能得到字体的连字效果,还可以直接复用终端的动态壁纸

那个光标和跑马灯动画是啥?

