在编辑中工作而时候,
有时候会突然想到某个问题的解决思路,
C-x C-f找到记录文件后, 想法常常就没了.
怎样捕捉到这样转瞬即逝的想法.
尝试用todo收集, 但回顾的时候, 一个一个的挑拣出来, 工作量也不小.
能不能自动添加到指定文件的文末.
在编辑中工作而时候,
有时候会突然想到某个问题的解决思路,
C-x C-f找到记录文件后, 想法常常就没了.
怎样捕捉到这样转瞬即逝的想法.
尝试用todo收集, 但回顾的时候, 一个一个的挑拣出来, 工作量也不小.
能不能自动添加到指定文件的文末.
org-capture
尝试用todo收集, 但回顾的时候, 一个一个的挑拣出来, 工作量也不小.
不是在记录的时候整理,就是在回归的时候整理…
org-capture + org-refile 这是基本款 别的看有讨论用anki的
可以用 yasnippet 新建一个用 todo 或 idea 开头的snippet保存临时的想法
yasnippet会根据不同的mode在不同的目录保存snippets
用company-yasnippet或ivy-yasnippet能轻易的找到你的想法
你还可以写个函数将想法添加到不同的分类 比如 note todo concept code 等等
将snippets转换成org也不难
一切受限于你的想象力
谢谢各位,
我试一下, org-capture,he yasnippet,
比较简单, 就是将 短暂的想法 写入到 特定的文件, 比如想法文件的最末.
比如看到这么一句
“夜深忽梦少年事,梦啼妆泪红阑干。” 突然出发的想法, 马上记下来,
再过十分钟去看, 可能什么触动都没有.
比较简单的话,可以试试 Emacs 自带的 remember 这个包
找到了一个简单而完美的解决方案,
用register,
将忽然而来的想法, 就直接写在当下的编辑器里. 保存到register中.
deft 包。很好用
整理是很重要的一环,我反正不指望自动归类。
我的方案也是 org-capture,新建了一种 draft 类型,有以下特点:
在指定目录下创建以当前时间戳命名的 org 文件
文件去掉已修改状态
这样退出 Emacs 就不会提示文件没有保存,可以手工存盘
相关配置如下
(setq my/org-drafts-directory (concat (file-name-as-directory org-directory) "drafts"))
(defun my/org-draft-new-file ()
(concat (file-name-as-directory my/org-drafts-directory) (format-time-string "%F_%T") ".org"))
(setq org-capture-templates '(("t" "Task" entry
(file+headline "" "Tasks")
"* TODO %? %^g\n %u\n %a\n"
:empty-lines 1)
("d" "Draft" plain
(file my/org-draft-new-file)
"")
("e" "Ediary" plain
(file ediary-source-file)
"* TODO %?\n %u\n "
:jump-to-captured t
:empty-lines-before 1)))
;; Mark draft buffer without modifications state.
(defun my/org-capture-draft-buffer-mark-as-unmodified(&optional start end length)
(set-buffer-modified-p nil))
(defun my/org-capture-draft-buffer-create-hook ()
(when (and
(eq major-mode 'org-mode)
(buffer-file-name)
(file-in-directory-p (buffer-file-name) my/org-drafts-directory))
(my/org-capture-draft-buffer-mark-as-unmodified)
(add-hook 'after-change-functions 'my/org-capture-draft-buffer-mark-as-unmodified nil t)))
(add-hook 'after-change-major-mode-hook 'my/org-capture-draft-buffer-create-hook)
(defun my/drafts ()
(interactive)
(find-dired my/org-drafts-directory "-name '*.org'"))
效果如下
用得还是很频繁的,因为确实方便,有时候临时要记录些东西,有用的肯定就随后放到 TODO 或其它更正式的地方了
/home/tangxinfa/.emacs.d/org/drafts/:
find . \( -name '*.org' \) -print0 | xargs -0 ls -ald
-rw-r--r-- 1 tangxinfa tangxinfa 10418 May 21 2018 2018-05-21_15:11:59.org
-rw-r--r-- 1 tangxinfa tangxinfa 958 May 24 2018 2018-05-23_15:33:28.org
-rw-r--r-- 1 tangxinfa tangxinfa 86185 May 24 2018 2018-05-24_18:29:56.org
-rw-r--r-- 1 tangxinfa tangxinfa 124 May 29 2018 2018-05-29_12:42:28.org
-rw-r--r-- 1 tangxinfa tangxinfa 1 May 30 2018 2018-05-30_15:42:48.org
-rw-r--r-- 1 tangxinfa tangxinfa 1 May 30 2018 2018-05-30_15:44:44.org
-rw-r--r-- 1 tangxinfa tangxinfa 104166 May 30 2018 2018-05-30_15:45:23.org
-rw-r--r-- 1 tangxinfa tangxinfa 1 May 31 2018 2018-05-31_10:47:46.org
-rw-r--r-- 1 tangxinfa tangxinfa 80196 May 31 2018 2018-05-31_11:39:12.org
-rw-r--r-- 1 tangxinfa tangxinfa 186148 May 31 2018 2018-05-31_11:43:15.org
-rw-r--r-- 1 tangxinfa tangxinfa 166135 May 31 2018 2018-05-31_11:43:45.org
-rw-r--r-- 1 tangxinfa tangxinfa 8678 May 31 2018 2018-05-31_14:18:21.org