Mac系統emacs org-mode 學習筆記

0x00 美化準備

安裝 org-bullets 插件,可以讓org文本自帶美化效果

M-x package-install <RET> org-bullets <RET>

配置啓動參數, 使其自動生效

(require 'org-bullets)
(add-hook 'org-mode-hook (lambda () (org-bullets-mode 1)))

0x01 參考

參考文檔 https://orgmode.org/orgguide.html

0x02 標題Headlines

* Top level headline
** Second level
*** Third level
    some text
*** Third level
    more text
* Another top level headline
  • 摺疊熱鍵:
    • C-<RET> 創建一個同級別的 Headline

    • Cmd-<方向> 調整Headline 等級

    • Tab: 針對光標所在節點, 對其下面的節點進行打開/摺疊.
      比如 有多個頂級項目, 只關心當前項目的詳情, 那麼, 光標移到最後一個頂級標籤上,多次Tab即可.

    • S-Tab: 全局切換: 分三個維度

      • 全部摺疊, 只保留頂級標題
      • 全部展開, 但只顯示所有次級目錄標題
      • 全部展開, 會把所有正文也顯示出來




所以, 正常使用時, 會優先使用S-Tab做全局摺疊, 然後定位到目標標題, 再進行 Tab進行展開

  • 標題之間快速移動

    • C-c C-n: 無視縮進, 跳到下一個標題
    • C-c C-p: 無視縮進, 跳到上一個標題
    • C-c C-f: 跳到下一個同級標題
    • C-c C-b: 跳到上一個同級標題
    • C-c C-u: 跳到父級標題
  • 結構編輯

    • M-Ret 生成一個新的同級標題
    • M-S-Ret 生成一個同級的帶TODO的標題
    • M-Left|Right 調節縮進
    • M-Up|Down 上下調節標題, 縮進不變, 但不可以移出父層級.
    • C-c C-w 把當前節點, 移到其他父節點下

0x03 列表

  • 無序列表: 以-,+,* 開頭

  • 有序列表: 以1., 1) 開頭

  • 描述符用 :: 區分

  • 重要熱鍵

    • M-Ret: 根據當前序列,生成一個同型序列
    • M-S-Ret: 生成一個帶checkbox 的序列
    • M-S-Up|Down: 上下移到序列行
    • M-Left|Right 調整序列縮進
    • M-S-Left|right 調整子序列樹縮進
    • C-c C-c 切換開關

0x04 TODO

4.1.熱鍵
  • C-c C-t 可以在多個狀態之間切換
  • 增加Done狀態時的時間和日誌:
    在啓動參數中增加
(setq org-log-done 'time)
(setq org-log-done 'note)
  • C-c , : 設置優先級: A-C
  • S-Up|Down : 調節優先級
4.2.任務完成數

假設有一個TODO任務樹, 可以在最父級的 TODO項後面 手動添加 [/]
接下來,對子任務狀態切換時, 會自動更新 父級後面的 完成狀態

4.3.CheckBox

子任務前面手動加一個 [ ]
實戰:

  1. 手動寫第一個任務標籤: * checkbox [/]
  2. 手動寫第一個子任務: - [ ] 分組學習
  3. 自動寫第二個子任務: S-M-Ret : 任務2
  • C-c C-c: 狀態切換
4.4.Tag

在標籤行尾添加Tag: :work:, :tag1:tag2:
注意: tag ,不能用在 [/] checkbox 的任務項上

最佳實戰: 在父級任務上加 tag

  • C-c C-c: 修改/新增 tag
  • C-c \: 查找tag

0x05 日期和時間

5.1. 時間表現形式
  • 時間點:
* Meet Peter at the movies
  <2006-11-01 Wed 19:15>
* Discussion on climate change
  <2006-11-02 Thu 20:00-22:00>
  • 重複時間: + n d|w|m|y
* Pick up Sam at school
  <2007-05-16 Wed 12:30 +1w>
  • 日記入口
* 22:00-23:00 The nerd meeting on every 2nd Thursday of the month
  <%%(diary-float t 4 2)>
  • 時間範圍
** Meeting in Amsterdam
   <2004-08-23 Mon>--<2004-08-26 Thu>
  • 禁用時間: 使用方括號[]
* Gillian comes late for the fifth time
  [2006-11-01 Wed]
  • 創建時間
    C-c . 插入時間 ,
    如果需要顯示時間, 輸入C-c . 後, 直接輸入 18:30, 再選擇日期即可.
    S-Up|Down|Left|Right 更改日期

  • 到期日和計劃日
    C-c C-d: 插入 DEADLINE
    C-c C-s: 插入SCHEDULED

  • 統計時長

0x06 Agenda 視圖

M-x org-agenda : 可以顯示本週 Todo項
也可以配置全局熱鍵:

(global-set-key (kbd "C-c a") #'org-agenda)

0x07 輸出到iCalendar

C-c C-e c f 輸出到ics文件 , 自行導入 ics

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章