Skip to content

Commit 7f85737

Browse files
committed
finish
1 parent 5efa55a commit 7f85737

File tree

1 file changed

+107
-6
lines changed

1 file changed

+107
-6
lines changed

README.org

Lines changed: 107 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2220,21 +2220,122 @@ c-c n l (org-roam-buffer-toggle)
22202220
*** 已有的 headline 转换为一个节点
22212221
org-id-get-create
22222222
refile node
2223-
** Org roam UI and Org roam server
2224-
** 安装 Rime
2223+
** 直接从 github 安装插件
2224+
#+begin_src emacs-lisp
2225+
(require 'cl-lib)
2226+
(require 'use-package-core)
2227+
2228+
(cl-defun slot/vc-install (&key (fetcher "github") repo name rev backend)
2229+
(let* ((url (format "https://www.%s.com/%s" fetcher repo))
2230+
(iname (when name (intern name)))
2231+
(package-name (or iname (intern (file-name-base repo)))))
2232+
(unless (package-installed-p package-name)
2233+
(package-vc-install url iname rev backend))))
2234+
2235+
(defvar package-vc-use-package-keyword :vc)
2236+
2237+
(defun package-vc-use-package-set-keyword ()
2238+
(unless (member package-vc-use-package-keyword use-package-keywords)
2239+
(setq use-package-keywords
2240+
(let* ((pos (cl-position :unless use-package-keywords))
2241+
(head (cl-subseq use-package-keywords 0 (+ 1 pos)))
2242+
(tail (nthcdr (+ 1 pos) use-package-keywords)))
2243+
(append head (list package-vc-use-package-keyword) tail)))))
2244+
2245+
(defun use-package-normalize/:vc (name-symbol keyword args)
2246+
(let ((arg (car args)))
2247+
(pcase arg
2248+
((or `nil `t) (list name-symbol))
2249+
((pred symbolp) args)
2250+
((pred listp) (cond
2251+
((listp (car arg)) arg)
2252+
((string-match "^:" (symbol-name (car arg))) (cons name-symbol arg))
2253+
((symbolp (car arg)) args)))
2254+
(_ nil))))
2255+
2256+
(defun use-package-handler/:vc (name-symbol keyword args rest state)
2257+
(let ((body (use-package-process-keywords name-symbol rest state)))
2258+
;; This happens at macro expansion time, not when the expanded code is
2259+
;; compiled or evaluated.
2260+
(if args
2261+
(use-package-concat
2262+
`((unless (package-installed-p ',(pcase (car args)
2263+
((pred symbolp) (car args))
2264+
((pred listp) (car (car args)))))
2265+
(apply #'slot/vc-install ',(cdr args))))
2266+
body)
2267+
body)))
2268+
2269+
(defun package-vc-use-package-override-:ensure (func name-symbol keyword ensure rest state)
2270+
(let ((ensure (if (plist-member rest :vc)
2271+
nil
2272+
ensure)))
2273+
(funcall func name-symbol keyword ensure rest state)))
2274+
2275+
(defun package-vc-use-package-activate-advice ()
2276+
(advice-add
2277+
'use-package-handler/:ensure
2278+
:around
2279+
#'package-vc-use-package-override-:ensure))
2280+
2281+
(defun package-vc-use-package-deactivate-advice ()
2282+
(advice-remove
2283+
'use-package-handler/:ensure
2284+
#'package-vc-use-package-override-:ensure))
2285+
2286+
;; register keyword on require
2287+
(package-vc-use-package-set-keyword)
2288+
#+end_src
2289+
** Org roam UI
2290+
#+begin_src emacs-lisp
2291+
(use-package org-roam-ui
2292+
:vc (:fetcher "github" :repo "org-roam/org-roam-ui"))
2293+
#+end_src
2294+
- 鼠标操作
2295+
- 可视化
2296+
- 实时显示链接
22252297

22262298

22272299
* 第二十天:Emacs 配置问题排查
2300+
** 配置有问题,启动不了怎么办?
2301+
emacs-debug --init
22282302
** 不能安装包,提示签名错误
22292303
Failed to verify signature archive-contents.sig
22302304

22312305
#+begin_src emacs-lisp
2232-
(let ((package-check-signature nil))
2233-
(package-install 'gnu-elpa-keyring-update))
2306+
(setq package-check-signature nil)
22342307
#+end_src
22352308

22362309
[[https://emacs-china.org/t/failed-to-verify-signature-archive-contents-sig/20508/5][Failed to verify signature archive-contents.sig - Emacs-general - Emacs China]]
2237-
** 配置有问题,启动不了怎么办?
2238-
** 依赖不对怎么办?
2310+
** a pax extended header, 包解压失败,可以使用 use-package :vc 直接安装
2311+
使用 mysys2 的时候,系统会使用 unix 的 tar 去解压会有问题
2312+
windows 上面需要使用 system32/tar 这个程序去解压。
2313+
#+begin_src emacs-lisp
2314+
解决办法可以是 mv /usr/bin/tar /usr/bin/tarbak
2315+
#+end_src
2316+
** 上 Emacs China! 上 Emacs China! 上 Emacs China! (重要的事情说 3 遍)
22392317

22402318
* 第二十一天: 优化性能,借鉴其他人的配置
2319+
** how to Profile performace
2320+
** 怎么度量启动性能
2321+
#+begin_src emacs-lisp
2322+
(use-package benchmark-init
2323+
:ensure t
2324+
:demand t
2325+
:config
2326+
;; To disable collection of benchmark data after init is done.
2327+
(add-hook 'after-init-hook 'benchmark-init/deactivate))
2328+
#+end_src
2329+
** use-package 哪些操作可以优化性能
2330+
https://systemcrafters.net/emacs-from-scratch/cut-start-up-time-in-half/
2331+
** 借鉴大佬的配置,作为框架
2332+
*** 社区配置
2333+
Spacemacs & DoomEmacs
2334+
2335+
*** 个人配置
2336+
- https://github.com/purcell/emacs.d
2337+
- https://github.com/bbatsov/prelude
2338+
- https://github.com/bbatsov/prelude
2339+
- https://github.com/seagle0128/.emacs.d
2340+
- https://github.com/zilongshanren/emacs.d (子龙山人)
2341+

0 commit comments

Comments
 (0)