当我在线路上的任何位置时,我想有一个快捷方式来改变TODO直线到DONE(和返回)的状态,并且CLOSED时间标签折叠起来(不像速度键需要在第一个星号之前)。
目前我有2个选择:
C-c C-t d TAB(org-use-fast-todo-selection设置为t,d是我的DONE状态快捷方式并TAB隐藏子树),或
S-right TAB(使用org-shiftright,DONE是 之后的第一个状态TODO)。
你能帮我把它绑定到一个像C-c C-d. 请注意,我有更多的状态TODO,DONE但这个快捷方式也应该在这些状态之间切换。
加分项:附加命令也可以TODO在与上一个任务相同级别的下一行开始一个新项目。
非常感谢!
不确定“时间标签”是什么意思,但根据您列出的工作流程,以下命令应该可以执行您想要的操作:
(defun org-toggle-todo-and-fold ()
(interactive)
(save-excursion
(org-back-to-heading t) ;; Make sure command works even if point is
;; below target heading
(cond ((looking-at "\*+ TODO")
(org-todo "DONE")
(hide-subtree))
((looking-at "\*+ DONE")
(org-todo "TODO")
(hide-subtree))
(t (message "Can only toggle between TODO and DONE.")))))
(define-key org-mode-map (kbd "C-c C-d") 'org-toggle-todo-and-fold)
Run Code Online (Sandbox Code Playgroud)
至于TODO在与当前任务相同的级别插入新项目,org-mode已为此内置命令。你可以通过做来阅读它们
org-insert-todo-heading RETorg-insert-todo-heading-respect-content RET