Andy Stewart
1个月前
Andy Stewart
1个月前
看到Emacs道友在讨论 load-path 对启动速度的影响 其实Emacs内置的 load-path 比较傻,会扫描过多的目录内容,扫描的无关文件太多就会影响Emacs的启动速度 其实可以用我10年前写的 add-subdirs-to-load-path,可以根据自己的目录情况写忽略规则,轻松实现400多个插件,秒开 (defun add-subdirs-to-load-path (search-dir) (interactive) (let* ((dir (file-name-as-directory search-dir))) (dolist (subdir ;; 过滤出不必要的目录,提升Emacs启动速度 (cl-remove-if #'(lambda (subdir) (or ;; 不是目录的文件都移除 (not (file-directory-p (concat dir subdir))) ;; 父目录、 语言相关和版本控制目录都移除 (member subdir '("." ".." "dist" "node_modules" "__pycache__" "RCS" "CVS" "rcs" "cvs" ".git" ".github")))) (directory-files dir))) (let ((subdir-path (concat dir (file-name-as-directory subdir)))) ;; 目录下有 .el .so .dll 文件的路径才添加到 `load-path' 中,提升Emacs启动速度 (when (cl-some #'(lambda (subdir-file) (and (file-regular-p (concat subdir-path subdir-file)) ;; .so .dll 文件指非Elisp语言编写的Emacs动态库 (member (file-name-extension subdir-file) '("el" "so" "dll")))) (directory-files subdir-path)) ;; 注意:`add-to-list' 函数的第三个参数必须为 t ,表示加到列表末尾 ;; 这样Emacs会从父目录到子目录的顺序搜索Elisp插件,顺序反过来会导致Emacs无法正常启动 (add-to-list 'load-path subdir-path t)) ;; 继续递归搜索子目录 (add-subdirs-to-load-path subdir-path))))) (add-subdirs-to-load-path "/usr/share/emacs/lazycat")
Andy Stewart
1个月前
感谢支持,穷举法虽然笨,但是确实普通人最快的学习方法,下面分享穷举法在创业中的运用 1. 不会一件事情,主要是知识少了,多读书,读超过10倍的书,很多东西就明白了。其实这方面,律师行业就很厉害,通过大量阅读来建立知识上的完备认知,最有名的律师就是查理芒格 2. 不懂得行业,不耻下问,拜访1000家供应商,肯定就变成硬件专家了。比如只会写代码的工程师问我,怎么做做硬件创业?其实只有这条路,亲自趟坑,穷举所有你不会的知识和供应链 3. 创业韧性培养,创业有很多困难,正向困难其实还好,最困难的就是人性的恶,因为人不喜欢别人好,所以创业过程中,你会遇到很多恶人的无端指责,他们说话很难听。做为创业者,你应该怎么让自己坚韧?我教你一个方法,先问自己,是不是如这些恶心人所说的那样?如果没有就忽视他们。那他们说的那些恶心话怎么办呢?你就这样看,一个人善良的人不会对一个陌生的人说恶心的话,因为他自己的原则让自己不能那样做。而那些从来就不调查事实就骂别人恶心别人的原因是什么?是他们内心肮脏,那再问,是谁的损失?是他们自己的损失,而不是你的损失。那就对了!创业不光是做事,还要看懂人性,人性的恶和善都是客观存在的,做自己就好了,其他的不要管,时间会证明一切的,不要着急
Andy Stewart
1个月前
Andy Stewart
1个月前