有没有只在终端使用emacs的

大家有没有只在终端上不在图形界面上使用emacs的啊?跟终端使用vim相比有何优势?

难说,vim特别是neovim/lazyvim完成度很高,不用折腾了。但是对我来说,最大的优势是emacs的按键绑定,或者说习惯。vim这套东西把按键占的特别全,改了其中一个按键,还得考虑把原来那个按键的功能调到合适的按键实在是麻烦。。。但是空着也不行,它不像emacs,按键和命令是绑定的。vim的按键映射走,原来的功能就没了。。。

终端的 Emacs 能有啥优势?(好奇)

主题配色问题, 与终端按键绑定冲突, 远程使用 ssh Emacs tui 组合按键不生效问题 都够呛了.

1 个赞

你说的恐怕就是我了. 可以从三方面考虑对你的价值问题如何判断. 一个是你用什么终端形态, 要不要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的脚手架去了, 就更好看了.

2 个赞

我经常在终端用 emacs, 一直遇到右下角缺个角或者整体渲染不完整的情况:

如何做到?

很简单的, 你把kebab理解成短语句法, 我们小时候语文课不都学过么? 就是什么并列短语, 偏正短语… 有十种, 然后该怎么弄就怎么弄, 这十种你都不用学, 汉语是你的母语, 读不读的通, 你自己还没数么? 单词接汉字的时候把hyphen省了, 汉语部分想用hyphen那就用, , 替代, 反正原来连字符也主要是表达修饰关系, 汉英混用的时候, 英语的部分该kebab还是kebab. 比较困难的是术语翻译, 因为同样的意思既可以说英语, 也可以说汉语. 我是搞数理逻辑的, 所以我兜底的办法是那种10年以上不变的, 比如群环域数学概念, 那就用汉语术语, 如果是多变的, 新的, 比如所谓领域驱动开发, 那就写ddd. 当然如果你要是团队用, 和我自己用就又不一样了, 团队用可以走Minimalist Grammar的思路归纳典型表达. 我这个东西的原理就是递归句法的名词从句性质, 就是说递归的时候几乎总是名词从句在嵌套, 而汉语其实也有类似的本质, 只不过是连起来的几句的线性命题陈述, 而不是一句内部的递归句法, 但是不要紧, 分析语表达别把顺序弄错就可以了. 实际上我就是把AST当成PRD功能定义的命题陈述擦除了什么东西以后的表示, 我也不知道擦除了什么, 但是不要紧, 汉字的稀疏性是如此之好, 以至于几个字符的符号序列就能对应到PRD文本的什么具体位置, 然后可以把当初的spec再解释回来了. 如此一来, 无论是common lisp还是clojure, 标准库写着写着就变成言出法随了. 普通程序员可能没有我玩λ的时间长, 我不仅知道蒙太古的形式λ, 还知道Martin Lof的见证λ, 以前还是搞宇宙学的, 所以给抽象取名字的时候处于总有办法的自由王国, 普通程序员这方面可能欠缺一些, 大概会要么想象力过剩最后胡言乱语, 要么瞪着算法不知道现在该叫什么.

1 个赞

哦哦,我还在想怎么在emacs lisp里用中文作为变量名呢 :joy:

应该也可以, 但是问题在于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 的优势?

3 个赞

我有史以来一直就在终端用,就算本机也在终端里。多少年了,我连gui的emacs都没安装过。

1 个赞

我也没明白,zsbd

有 gui 肯定用 gui,没有的话 tui 也行,反正主题都是专门挑过的终端可用,一套配置到处跑,快捷键都通过 meow-keypad 来按,不怕终端按不了

相比其他编辑器最大的优势就是有 org-mode,终端里写点记录啥的比 md 舒服多了

2 个赞

毕竟和鼠标有点八字不合.

1 个赞

终端里用vim更快,所以一直用vim,要是ssh登录的话只能vim,上面都没装emacs。GUI的话,用emacs和nvim。

相比终端 vim 的话, 因为长期当 IDE 用, 功能更复杂更熟悉.

启动速度优化到 0.2s 以后, 可以直接替代 vim, 方便多开, 无需 daemon.

纯终端版编译速度非常快, 一两分钟以内, 在各种远程环境 / docker 环境里自动化 setup 很方便.

1 个赞

目前一直在用TUI的emacs :rofl:

好处是不用任何设置就能得到字体的连字效果,还可以直接复用终端的动态壁纸

586b078c34b2f86a8599a559598e9bcaa8862ddd

1 个赞

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