说的是。可能我天真的认为玩 Emacs 的都是偏技术型的,做事都比较细心谨慎。读读文档算是最基础的吧,否则怎么做技术开发呢?如果一时疏忽没看到也无可厚非,但实际情况却基本是根本没有看,或者认真看。。。别问我怎么知道的,有一堆私信。。。。
这个话题由我引起,我从使用者的角度,来发表一下看法。
对于不看Readme文件的人,确实没有办法。心情好的时候,善意提醒一下吧
看Readme文件的人分几种。
最好的那种就是仔细从头到尾看一遍。对于中小篇的Readme还行,对于长篇的,先简略看一下标题和前面的概要,用一段时间有概念了再从Readme里找有没有和自己相关的问题。
我的习惯一般是看标题和紧接标题下的说明来了解有哪些功能。这种习惯不好的一点就是容易看漏。costume.el和custom-post.el应该是两个副标题。而实际上对custom-post.el的说明不仅没写在某个标题之后,而且写在 Manual大标题的最好一句,这个位置一般是对功能的追加说明,而不是介绍一个新功能
只是提一下自己对Readme格式的看法
Centaur Emacs 用起来,太赞了。
term 里显示不了汉字,改什么地方?
问号部分其实是一个汉字名文件夹
这个应该是 shell 本身的设置。系统的终端里显示正常吗?查查locale,我的是
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL=
终端是正常的,我在东京,用的是日文
日文系统我没用过哈,应该原理是一样的。在 emacs term 里看看locale。用set-terminal-coding-system
尝试修改成别的。根据中文系统的经验,我建议locale直接使用en_US.UTF-8
。这里是 emacs 编码设置的一个参考:https://blog.csdn.net/yo746862873/article/details/52291780
好的,谢谢!
其实我感觉问题在这儿:
开发者(心声):我的文档写得很详细,用户应该能根据我的文档找到解决方案了。而且我的文档里也谢了我踩过的坑,用户看了就会避免。
某用户:怎么弄好?
开发者:看文档啊。有详细的说明的。
某用户:所以我问你现在没办法工作了,然后怎么弄好?
开发者:所以我让你看文档啊,那上面已经写明白了。
某用户:我要是看得懂我还问你?(PS:其实根本没看,也懒得看)
开发者:……
我有时候也特别不明白,不管工作上还是日常里,有些人总是强烈地希望具体的“人”来指导他,脑怕这个“人”只是把自己文档里的话复制粘贴到对话窗口里都行,但是这些人就是不会自己看文档/书或者自己搜索答案。
说实话我也有点,尤其是犯强迫症的时候,就会来论坛里寻求大家的意见……
另外我觉得一个比较好的方法是提前确定你要做什么。如果你只是想把自己的配置分享出去让大家来用,那么就没必要背上那么重的责任。毕竟那是你的东西,别人用不习惯是别人的事情不是?
但是要做通用配置,那就得考虑很多事情……比如目标用户群,你的配置要实现的特性之类的,否则要么被issues烦死,要么就会慢慢变成收拾不了的庞然大物……
我喜欢centaur emacs,很好用。也犯过没认真看readme的错。发私信,seagle0128兄都很有耐心地做了回答。
seagle0128兄人很好的……
怎么有了解决方案?
我想从spacemacs迁移配置已经想了好长时间,比较中意的有三个,之前试用过默认配置,元旦时候集中下手把自己的配置合并进去,也梳理了一下之前的东西。
- purcell的那一套,说实话我认为超出我的能力范围了,有些东西甚至我还不知道搜索需要的关键字是什么,也找不到解决方案,短期内肯定大大影响效率;
- doom有很多优点,但是也有很多bug,尤其是不用evil的话,简直了;
- centaur很便利,比如youdao-dict这种包,他们的配置里是不会有的,但是可能我用的时间短,没有打磨好或者没有找到正确的姿势。
没能解决的问题,
- 比如doom的
map!
函数,虽然也有坑,不过很简便。而我在centaur下试了global-set-key
和bind-key*
都不行,现在还不能重新绑定快捷键到自己的函数; - 没找到便捷地设置主题的方法,用
set-face-attribute
自定义的变量也都不生效; - 另外像
(display-line-numbers-mode nil)
这样的设置也不生效; - 隔壁老王的
company-english-helper
,沿用以前的配置会报错,说找不到company,很奇怪。他的awesome-tab
也用不了; - 每当退出时,总有 async 进程在运行,我还不知道如何禁用它的询问,直接退出;
- 中英文分别设置字号达到org-mode表格对齐的效果,我也是抄的隔壁配置,同样不生效:
(set-face-attribute 'default nil :font (format "%s:pixelsize=%d" "Source Code Pro" 14)) (dolist (charset '(kana han symbol cjk-misc bopomofo)) (set-fontset-font (frame-parameter nil 'font) charset (font-spec :family "Source Han Sans CN" :size 16)))
最后建议能把个人配置的文件单列出来,我是
(setq custom-file (expand-file-name "~/.centaur/init.el"))
到另一路径然后用git管理的,不知道这个思路对不对?感觉实际花费要比centaur提示的加载时间更长。
希望 @seagle0128 兄有空的话,可以指点一下思路。谢谢!
以前我也遇到过,不过如果我README里面写得很清楚,就提醒他看文档, 然后就没有然后了,如果他自己解决不了,可能他不太适合使用 emacs, 不久就会放弃,也就没有然后了。
我也是另建一个路径进行扩展管理,只是在centaur建两个link文件,custom.el和custom-post.el,指向我的扩展路径下同名的文件。剩下就是写自己的东西了
我一直认为通用配置是一条死路。。。。
试过generel.el吗?
不太明白,load-them
没有作用吗?set-face-attribute
改完face之后用list-face-display
看看改了没?具体不管用的代码是什么样的?
我在mac下的配置:
(dolist (charset '(kana han cjk-misc))
(set-fontset-font (frame-parameter nil 'font)
charset (font-spec :family "Source Han Serif SC"
:size 13 ; 16
;; :weight 'semi-bold
)))
(add-to-list 'face-font-rescale-alist '("Source Han Serif SC" . 1.3))
我把中英字体的字号设置到一样,用face-font-rescale-alist
调整中文字体对齐。
是这样……通用配置为了满足所有人,要做大量的封装(代码变成选项),很麻烦。
说句可能有点找抽的话,我觉得做面对“真·大众”的产品的时候,我们一定要把用户想象成那种“没有什么知识和耐心,还爱随便乱折腾”的生物。就跟有位仁兄在知乎上谈到机械设计时的观点差不多。
我觉得很对,毕竟 Emacs 这个平台本身就不是为此而生的。
但是有时候自己的需求就很大而且变化极快……结果导致本来想做”小而美”的东西,最后又做成了一个怪物。
purcell的那套东西基本上是为他自己设计的,所以他不太会为我们的需求改变什么。比如我个人就觉得他讨厌不完美的辅助工具。所以很多语言的自动补全(甚至他自己会用到的语言,比如JS)他都没加上。而且很多“现代工具”他也没有采用。
不过我感觉他的配置最适合拿来当基础框架然后自己改,因为该有的toolchain都有,又没太多私有框架。
另外关于3……关闭mode最好使用-1
而不是nil
或0
……虽然我也不知道为啥。但是用nil
或0
有时候总是没用。