我正在尝试将文本行转换为Todos或org-mode中的复选框项目。例如,如果我有:
第1行
第2行
第3行
我想将其转换为
* TODO第1行
* TODO第2行
* TODO第3行
或
[]第1行
[]第2行
[]第3行
我知道C-c -
会将所选区域转换为列表(source):
第1行
第2行
第3行
但有没有办法将它转换为带复选框的列表(或者Todos的行?)
提前致谢!
答案 0 :(得分:10)
您可以使用此功能将当前行设为 复选框(ES):
(defun org-set-line-checkbox (arg)
(interactive "P")
(let ((n (or arg 1)))
(when (region-active-p)
(setq n (count-lines (region-beginning)
(region-end)))
(goto-char (region-beginning)))
(dotimes (i n)
(beginning-of-line)
(insert "- [ ] ")
(forward-line))
(beginning-of-line)))
所以现在,从:
开始Line 1
Line 2
Line 3
用 C-3 C-c c 得到:
- [ ] Line 1
- [ ] Line 2
- [ ] Line 3
现在有了 C-c C - * ,你可以得到:
* TODO Line 1
* TODO Line 2
* TODO Line 3
从
开始Line 1
Line 2
Line 3
用 C-x h C-u C-c - 得到:
- Line 1
- Line 2
- Line 3
之后,用 C-x h C-u C-c C-x C-b 得到:
- [ ] Line 1
- [ ] Line 2
- [ ] Line 3
但这是相当笨拙的,org-set-line-checkbox
来自上方
应该更快。
答案 1 :(得分:1)
执行此操作的一种非常简单的方法是following the instructions here:
"要对区域执行此操作,请使用 string-insert-rectangle 。设置标记 ( C - )在您想要前缀的第一行的开头, 将光标移动到要作为前缀的最后一行,然后键入 M-x string-insert-rectangle 。要对整个缓冲区执行此操作,请键入 C-x h M-x string-insert-rectangle 。"
字符串示例可用于您的待办事项列表:" * TODO"
组织模式将此字符串理解为TODO项目。
答案 2 :(得分:0)
我突出显示该区域,然后执行C-c -
,然后再次突出显示并执行C-u C-c C-x C-b
。