国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Emacs學(xué)習(xí)筆記(9):org
 

org-mode: 最好的文檔編輯利器,沒有之一

盡管按照org-mode 官方 的說(shuō)法,Org 是一個(gè)基于快速高效的文本方式來(lái)實(shí)現(xiàn)做筆記、管理待辦事項(xiàng)(TODO list)以及做項(xiàng)目計(jì)劃的模式(Org is a mode for keeping notes, maintaining TODO lists, and doing project planning with a fast and effective plain-text system ),但 Org-mode 首先是最好的文檔編輯利器,沒有之一。

我之前用過(guò)很多年M$ Word, 也嘗試過(guò)OpenOffice/LibreOffice Writer,以及iWorks Pager,但都不理想,寫文檔是沒有痛快淋漓的感覺。直到后來(lái)發(fā)現(xiàn)了Omni Outliner , 才終于找到了寫作的樂趣。 但是了解了org-mode之后,發(fā)現(xiàn)原來(lái)一切都是浮云。只有Org-mode才是終極的解決之道。 使用org-mode寫文檔的時(shí)候,你只需要關(guān)注內(nèi)容本身,而不需要寫上幾個(gè)字,選中它們按Ctl-B,或者停下來(lái)用鼠標(biāo)去點(diǎn)擊“標(biāo)題1”,更甚覺得那個(gè)標(biāo)題格式不順眼,開始去調(diào)整樣式,而停下寫作的思路。

BTW,Omni Outliner似乎也是從Org-mode找到的靈感,有圖為證:

其功能與Org-mode 幾乎一樣,而且這貨居然支持emacs快捷鍵!

盡管Omni Outliner以GUI的方式實(shí)現(xiàn)了org-mode的功能,但是并不是很理想:它的內(nèi)容是“所見即所得”的,很多時(shí)候你難以更改其樣式,而且只能在Mac OS下使用。 而Org-mode使用文本方式,具有如下優(yōu)勢(shì):

  • 格式通用,系統(tǒng)無(wú)關(guān),軟件無(wú)關(guān)
  • 體積小,速度快
  • “所想即所得”,比“所見即所得”更人性化

可以說(shuō),正是由于有了 Org-Mode, Emacs 處理文本的能力才得到了大幅度的提高,使得Emacs能夠被非程序員接受。 如果說(shuō)LaTex是排版的終極,那么Org-mode就是編輯的終極。Emacs 22 以后的版本已經(jīng)集成了 org-mode,打開 .org 擴(kuò)展的文件會(huì)自動(dòng)進(jìn)入 org 模式。此外,Vim下面也有了對(duì)應(yīng)的Org-mode。

本文介紹最基本的編輯、格式化文本以及導(dǎo)出功能,后續(xù)再討論高級(jí)玩法。

1 用大綱組織內(nèi)容

盡管Org-mode的功能不斷豐富,現(xiàn)在已經(jīng)可以記筆記,管理個(gè)人事務(wù),制定項(xiàng)目計(jì)劃以及很多其他的用途,但是最初和最基本的功能還是通過(guò)大綱(outline)的方式來(lái)編輯文檔。 而且,無(wú)論是筆記管理,任務(wù)管理還是項(xiàng)目計(jì)劃的編寫,都是以對(duì)內(nèi)容進(jìn)行高效的組織(organization)為基礎(chǔ)的。

在編輯文檔,尤其是大型文檔的時(shí)候,對(duì)內(nèi)容的組織就顯得尤為重要。經(jīng)常需要在文檔中快速定位,只關(guān)注某一部分的內(nèi)容, Word之類的編輯器,通過(guò)文檔結(jié)構(gòu)圖來(lái)定位文檔位置,速度很慢,而且很多時(shí)候不能滿足編輯的需要。盡管Word也提供了“大綱視圖”,但是,唉……不說(shuō)也罷, 如果那個(gè)功能真的好用,也就不需要Omni Outliner了。

Org-mode天然支持大綱視圖,通過(guò)在文檔中定義標(biāo)題,可以方便的瀏覽每個(gè)小節(jié),從而把握文檔的總體內(nèi)容。 Org是基于Outline模式的,它提供了更靈活的編輯結(jié)構(gòu)文件的命令。比如折疊文檔,針對(duì)大綱的編輯功能等,極其強(qiáng)大。

1.1 定義標(biāo)題

要實(shí)現(xiàn)大綱,首先要定義標(biāo)題。用emacs新建一個(gè)orgmode.org,輸入如下內(nèi)容:

* org-mode** 大綱正在編寫大綱** 輕量級(jí)標(biāo)記語(yǔ)言* 可以導(dǎo)出其他格式支持html,pdf等格式

注意:

  1. * 要位于每行的行首
  2. * 之后要有一個(gè)空格,然后再輸入標(biāo)題
  3. 連續(xù)幾個(gè)*就表示是第幾級(jí)大綱,最多支持10級(jí)。

此時(shí)看起來(lái)應(yīng)該是這個(gè)樣子:

org-mode

覺得沒什么出奇的地方,只是改變了一些顏色?其真正的用處在于可以通過(guò)大綱操作文檔,包括折疊,定位和編輯。而這些操作都通過(guò)快捷鍵實(shí)現(xiàn),非常有效率。尤其是對(duì)大文檔。

1.2 大綱相關(guān)的快捷鍵

 
1.2.1 折疊大綱
 
快捷鍵命令說(shuō)明
S-TABorg-shifttab循環(huán)切換整個(gè)文檔的大綱狀態(tài)(三種狀態(tài):折疊,打開下一級(jí),打開全部)
TABorg-cycle循環(huán)切換光標(biāo)所在大綱的狀態(tài)
1.2.2 在大綱之間移動(dòng)
 
快捷鍵命令說(shuō)明
C-c C-n/p 下/上一標(biāo)題
C-c C-f/b 下/上一標(biāo)題(僅限同級(jí)標(biāo)題)
C-c C-u 跳到上一級(jí)標(biāo)題
C-c C-j 切換到大綱瀏覽狀態(tài)
1.2.3 基于大綱的編輯
 
快捷鍵命令說(shuō)明
M-RET 插入一個(gè)同級(jí)標(biāo)題
M-S-RET 插入一個(gè)同級(jí)TODO 標(biāo)題
M-LEFT/RIGHT 將當(dāng)前標(biāo)題升/降級(jí)
M-S-LEFT/RIGHT 將子樹升/降級(jí)
M-S-UP/DOWN 將子樹上/下移
C-c * 將本行設(shè)為標(biāo)題/正文
C-c C-w 將子樹或區(qū)域移動(dòng)到另一標(biāo)題處(跨緩沖區(qū))
C-x n s/w 只顯示當(dāng)前子樹/返回
C-c C-x b 在新緩沖區(qū)顯示當(dāng)前分支(類似C-x n s)
C-c / 只列出包含搜索結(jié)果的大綱,并高亮,支持多種搜索方式
C-c C-c 取消高亮

更多的快捷鍵可以通過(guò)C-c C-x C-h查看。

1.3 大綱的顯示方式

默認(rèn)的大綱顯示沒有縮進(jìn),顯得有些亂??梢杂?M-x org-indent-mode切換到另一種顯示方式:

如果想讓某個(gè)文件默認(rèn)用這種方式打開,可以在文件頭部增加:

#+STARTUP: indent

如果希望打開所有org文件都默認(rèn)用這種方式,可以在.emacs中配置:

(setq org-startup-indented t)

2 超鏈接和圖文混排

超鏈接也是組織內(nèi)容的一種非常有效的方式。Org 支持多種超鏈接。對(duì)于符合要求的圖片鏈接,可以形成圖文混排。

2.1 創(chuàng)建鏈接

對(duì)于符合鏈接規(guī)則的內(nèi)容,org-mode會(huì)自動(dòng)將其視為鏈接,包括括文件、網(wǎng)頁(yè)、郵箱、新聞組、BBDB 數(shù)據(jù)庫(kù)項(xiàng)、IRC 會(huì)話和記錄等。下面是一些例子:

http://www.astro.uva.nl/~dominik            on the webfile:/home/dominik/images/jupiter.jpg       file, absolute path/home/dominik/images/jupiter.jpg            same as abovefile:papers/last.pdf                        file, relative pathfile:projects.org                           another Org filedocview:papers/last.pdf::NNN                open file in doc-view mode at page NNNid:B7423F4D-2E8A-471B-8810-C40F074717E9     Link to heading by IDnews:comp.emacs                             Usenet linkmailto:adent@galaxy.net                     Mail linkvm:folder                                   VM folder linkvm:folder#id                                VM message linkwl:folder#id                                WANDERLUST message linkmhe:folder#id                               MH-E message linkrmail:folder#id                             RMAIL message linkgnus:group#id                               Gnus article linkbbdb:R.*Stallman                            BBDB link (with regexp)irc:/irc.com/#emacs/bob                     IRC linkinfo:org:External%20links                   Info node link (with encoded space)

對(duì)于文件鏈接,可以用::后面增加定位符的方式鏈接到文件的特定位置。定位符可以是行號(hào)或搜索選項(xiàng)。如:

file:~/code/main.c::255                     進(jìn)入到 255 行file:~/xx.org::My Target                    找到目標(biāo)‘<<My Target>>’file:~/xx.org/::#my-custom-id               查找自定義 id 的項(xiàng)

除了上述的自動(dòng)鏈接外,還可以顯示指定鏈接,采用如下格式:

[[link][description]][[link]]

顯示指定的鏈接可以不顯示原始的URL而是顯示對(duì)該鏈接的描述。 這種方式可以用相對(duì)路徑鏈接本地文件。

對(duì)于顯示指定的鏈接,即可以手工輸入,也可以用org-mode提供的快捷鍵進(jìn)行編輯:

 
快捷鍵命令說(shuō)明
C-c l 保存鏈接
C-c C-lorg-insert-link創(chuàng)建或修改鏈接,可以引用已保存的鏈接
C-c C-oorg-open-at-point打開鏈接
 
C-c % 記錄內(nèi)部鏈接地址
C-c & 跳轉(zhuǎn)到已記錄的內(nèi)部鏈接

2.2 內(nèi)部鏈接

前面的例子都是外部鏈接,Org-mode還支持內(nèi)部鏈接:

定義錨點(diǎn) #<<my-anchor>>[[my-anchor][內(nèi)部鏈接]]

腳注可以看作是一種特殊的內(nèi)部鏈接,但是要求具有"fn:"前綴:

添加腳注鏈接 [[fn:footprint1][腳注1]]定義腳注 [fn:footprint1]

2.3 顯示圖片

盡管不看重"所見即所得",但有時(shí)候能夠看到圖文混排的內(nèi)容還是很有必要的。通過(guò)iimage這個(gè)minor mode,可以在Org-mode中顯示圖片。

下載 iimage.el 文件扔到 Emacs 的目錄里,然后在 .emacs 里添加下面的代碼:

;; iimage mode(autoload 'iimage-mode "iimage" "Support Inline image minor mode." t)(autoload 'turn-on-iimage-mode "iimage" "Turn on Inline image minor mode." t)

然后就可以用命令

M-x iimage-mode RET

在當(dāng)前模式里啟動(dòng) iimage 這個(gè) minor mode。

iimage-mode目前只能顯示以文件方式鏈接的圖片。

混排 超鏈接也是組織內(nèi)容的一種非常有效的方式。Org 支持多種超鏈接。對(duì)于符合要求的圖片鏈接,可以形成圖文混排。

2.4 創(chuàng)建鏈接

對(duì)于符合鏈接規(guī)則的內(nèi)容,org-mode會(huì)自動(dòng)將其視為鏈接,包括括文件、網(wǎng)頁(yè)、郵箱、新聞組、BBDB 數(shù)據(jù)庫(kù)項(xiàng)、IRC 會(huì)話和記錄等。下面是一些例子:

http://www.astro.uva.nl/~dominik            on the webfile:/home/dominik/images/jupiter.jpg       file, absolute path/home/dominik/images/jupiter.jpg            same as abovefile:papers/last.pdf                        file, relative pathfile:projects.org                           another Org filedocview:papers/last.pdf::NNN                open file in doc-view mode at page NNNid:B7423F4D-2E8A-471B-8810-C40F074717E9     Link to heading by IDnews:comp.emacs                             Usenet linkmailto:adent@galaxy.net                     Mail linkvm:folder                                   VM folder linkvm:folder#id                                VM message linkwl:folder#id                                WANDERLUST message linkmhe:folder#id                               MH-E message linkrmail:folder#id                             RMAIL message linkgnus:group#id                               Gnus article linkbbdb:R.*Stallman                            BBDB link (with regexp)irc:/irc.com/#emacs/bob                     IRC linkinfo:org:External%20links                   Info node link (with encoded space)

對(duì)于文件鏈接,可以用::后面增加定位符的方式鏈接到文件的特定位置。定位符可以是行號(hào)或搜索選項(xiàng)。如:

file:~/code/main.c::255                     進(jìn)入到 255 行file:~/xx.org::My Target                    找到目標(biāo)‘<<My Target>>’file:~/xx.org/::#my-custom-id               查找自定義 id 的項(xiàng)

除了上述的自動(dòng)鏈接外,還可以顯示指定鏈接,采用如下格式:

[[link][description]][[link]]

顯示指定的鏈接可以不顯示原始的URL而是顯示對(duì)該鏈接的描述。 這種方式可以用相對(duì)路徑鏈接本地文件。

對(duì)于顯示指定的鏈接,即可以手工輸入,也可以用org-mode提供的快捷鍵進(jìn)行編輯:

 
快捷鍵命令說(shuō)明
C-c l 保存鏈接
C-c C-lorg-insert-link創(chuàng)建或修改鏈接,可以引用已保存的鏈接
C-c C-oorg-open-at-point打開鏈接
 
C-c % 記錄內(nèi)部鏈接地址
C-c & 跳轉(zhuǎn)到已記錄的內(nèi)部鏈接

2.5 內(nèi)部鏈接

前面的例子都是外部鏈接,Org-mode還支持內(nèi)部鏈接:

定義錨點(diǎn) #<<my-anchor>>[[my-anchor][內(nèi)部鏈接]]

腳注可以看作是一種特殊的內(nèi)部鏈接,但是要求具有"fn:"前綴:

添加腳注鏈接 [[fn:footprint1][腳注1]]定義腳注 [fn:footprint1]

2.6 顯示圖片

盡管不看重"所見即所得",但有時(shí)候能夠看到圖文混排的內(nèi)容還是很有必要的。通過(guò)iimage這個(gè)minor mode,可以在Org-mode中顯示圖片。

下載 iimage.el 文件扔到 Emacs 的目錄里,然后在 .emacs 里添加下面的代碼:

;; iimage mode(autoload 'iimage-mode "iimage" "Support Inline image minor mode." t)(autoload 'turn-on-iimage-mode "iimage" "Turn on Inline image minor mode." t)

然后就可以用命令

M-x iimage-mode RET

在當(dāng)前模式里啟動(dòng) iimage 這個(gè) minor mode。

iimage-mode目前只能顯示以文件方式鏈接的圖片。

3 輕量級(jí)標(biāo)記語(yǔ)言

前面的大綱和超鏈接都是使用標(biāo)記來(lái)定義的。實(shí)際上,Org現(xiàn)在已經(jīng)成為一種專門的輕量級(jí)標(biāo)記語(yǔ)言,與Markdown、reStructedText、Textile、RDoc、MediaWiki等并列。

相對(duì)于重量級(jí)標(biāo)記語(yǔ)言(如html, xml),輕量級(jí)標(biāo)記語(yǔ)言的語(yǔ)法簡(jiǎn)單,書寫容易。即使不經(jīng)過(guò)渲染,也可以很容易閱讀。用途越來(lái)越廣泛。 比如,gitHub的README文檔除了支持純文本外,還支持豐富的輕量級(jí)標(biāo)記語(yǔ)言,其中就包括Org。

關(guān)于這些語(yǔ)言的對(duì)比,可以參考這里 。下面來(lái)看一下Org還支持哪些標(biāo)記。

3.1 字體

*粗體*/斜體/+刪除線+_下劃線_下標(biāo): H_2 O上標(biāo): E=mc^2等寬字:  =git=  或者 ~git~

3.2 表格

Org 能夠很容易地處理 ASCII 文本表格。任何以‘|’為首個(gè)非空字符的行都會(huì)被認(rèn)為是表格的一部分?!瘄‘也是列分隔符。一個(gè)表格是下面的樣子:

| Name  | Pone | Age ||-------+------+-----|| Peter | 1234 | 17  || Anna  | 4321 | 25  |

你可能認(rèn)為要錄入這樣的表格很繁瑣,實(shí)際上你只需要輸入表頭“|Name|Pone|Age”之后,按C-c RET,就可以生成整個(gè)表格的結(jié)構(gòu)。類似的快捷鍵還有很多:

3.2.1 創(chuàng)建和轉(zhuǎn)換表格
 
快捷鍵命令說(shuō)明
C-c 豎線 創(chuàng)建或轉(zhuǎn)換成表格
3.2.2 調(diào)整和區(qū)域移動(dòng)
 
快捷鍵命令說(shuō)明
C-c C-c 調(diào)整表格,不移動(dòng)光標(biāo)
TAB 移動(dòng)到下一區(qū)域,必要時(shí)新建一行
S-TAB 移動(dòng)到上一區(qū)域
RET 移動(dòng)到下一行,必要時(shí)新建一行
3.2.3 編輯行和列
 
快捷鍵命令說(shuō)明
M-LEFT/RIGHT 移動(dòng)列
M-UP/DOWN 移動(dòng)行
M-S-LEFT/RIGHT 刪除/插入列
M-S-UP/DOWN 刪除/插入行
C-c - 添加水平分割線
C-c RET 添加水平分割線并跳到下一行
C-c ^ 根據(jù)當(dāng)前列排序,可以選擇排序方式

3.3 段落

對(duì)于單個(gè)回車換行的文本,認(rèn)為其屬于同一個(gè)段落。在導(dǎo)出的時(shí)候?qū)?huì)轉(zhuǎn)化為不換行的同一段。如果要新起一個(gè)段落,需要留出一個(gè)空行。 這點(diǎn)與MediaWiki類似。

3.4 列表

Org 能夠識(shí)別有序列表、無(wú)序列表和描述列表。

  • 無(wú)序列表項(xiàng)以‘-’、‘+’或者‘*‘開頭。
  • 有序列表項(xiàng)以‘1.’或者‘1)’開頭。
  • 描述列表用‘::’將項(xiàng)和描述分開。
  • 有序列表和無(wú)序列表都以縮進(jìn)表示層級(jí)。只要對(duì)齊縮進(jìn),不管是換行還是分塊都認(rèn)為是處于當(dāng)前列表項(xiàng)。

同一列表中的項(xiàng)的第一行必須縮進(jìn)相同程度。當(dāng)下一行的縮進(jìn)與列表項(xiàng)的的開頭的符號(hào)或者數(shù)字相同或者更小時(shí),這一項(xiàng)就結(jié)束了。當(dāng)所有的項(xiàng)都關(guān)上時(shí),或者后面有兩個(gè)空行 時(shí),列表就結(jié)束了。例如:

  My favorite scenes are (in this order)  1. The attack of the Rohirrim  2. Eowyn's fight with the witch king      + this was already my favorite scene in the book      + I really like Miranda Otto.  Important actors in this film are:  - Elijah Wood :: He plays Frodo  - Sean Austin :: He plays Sam, Frodo's friend.

將顯示為:

My favorite scenes are (in this order)

  1. The attack of the Rohirrim
  2. Eowyn's fight with the witch king
    • this was already my favorite scene in the book
    • I really like Miranda Otto.

Important actors in this film are:

Elijah Wood
He plays Frodo
Sean Austin
He plays Sam, Frodo's friend.
3.4.1 列表操作快捷鍵

為了便利,org-mode也支持很多列表操作的快捷鍵,大部分都與大綱的快捷鍵類似:

 
快捷鍵命令說(shuō)明
TAB 折疊列表項(xiàng)
M-RET 插入項(xiàng)
M-S-RET 插入帶復(fù)選框的項(xiàng)
M-S-UP/DOWN 移動(dòng)列表項(xiàng)
M-LEFT/RIGHT 升/降級(jí)列表項(xiàng),不包括子項(xiàng)
M-S-LEFT/RIGTH 升/降級(jí)列表項(xiàng),包括子項(xiàng)
C-c C-c 改變復(fù)選框狀態(tài)
C-c - 更換列表標(biāo)記(循環(huán)切換)

3.5 分隔線

五條短線或以上顯示為分隔線。

-----

4 標(biāo)簽

 

4.1 tag的作用

對(duì)于信息的管理,有分類(category)和標(biāo)簽(tag)兩種方式。這兩種方式各有特點(diǎn):

通常分類是固定的,很少變化,而tag隨時(shí)可以增加。 分類通常表現(xiàn)為樹狀結(jié)構(gòu),比較清晰,但是樹狀結(jié)構(gòu)過(guò)于簡(jiǎn)單,不能表達(dá)復(fù)雜的信息。比如,如果有多個(gè)分類樹,處理起來(lái)就會(huì)比較麻煩。

所以,這兩種方式通常結(jié)合起來(lái)使用。比如blog系統(tǒng)中,通常既支持文章的分類(樹),又支持為每篇文章作tag標(biāo)記。

org-mode作為最好的文檔編輯利器 ,在支持文內(nèi)大綱(也是樹狀結(jié)構(gòu))的同時(shí),還方便的支持tag功能。tag可以在多篇文檔中共用。

4.2 標(biāo)記tag

在Org-mode中,可以對(duì)標(biāo)題增加tag標(biāo)記。標(biāo)記的格式如下:

跟特留尼西特握手                    :苦差:薪水:逃不掉:

而且Org-mode的標(biāo)簽自動(dòng)按照大綱樹的結(jié)構(gòu)繼承。即子標(biāo)題自動(dòng)繼承父標(biāo)題的標(biāo)簽。比如:

* Meeting with the French group     :work:** Summary by Frank                 :boss:notes:*** TODO Prepare slides for him     :action:

則最后一行標(biāo)題具有 work, boss, notes, action 四個(gè)標(biāo)簽。

如果希望文檔中的所有標(biāo)題都具有某些標(biāo)簽,只需要定義文檔元數(shù)據(jù):

#+FILETAGS: :Peter:Boss:Secret:

如果手工輸入標(biāo)簽,在標(biāo)題后設(shè)置標(biāo)簽,鍵入:后,M-Tab自動(dòng)提供標(biāo)簽的補(bǔ)齊。

更方便的做法是在正文部分用C-c C-q 或直接在標(biāo)題上用C-c C-c創(chuàng)建標(biāo)簽,這種方式可以列出所有預(yù)定義的標(biāo)簽以便選取。

4.3 預(yù)定義tag

上面提到,除了可以輸入標(biāo)簽外,還可以從預(yù)定義的標(biāo)簽中進(jìn)行選擇。預(yù)定義的方式有兩種:

  • 在當(dāng)前文件頭部定義
    這種方式預(yù)定義的標(biāo)簽只能在當(dāng)前文件中使用。使用#+TAGS元數(shù)據(jù)進(jìn)行標(biāo)記,如:    #+TAGS: { 桌面(d) 服務(wù)器(s) }  編輯器(e) 瀏覽器(f) 多媒體(m) 壓縮(z)    

    每項(xiàng)之間必須用空格分隔,可以在括號(hào)中定義一個(gè)快捷鍵;花括號(hào)里的為標(biāo)簽組,只能選擇一個(gè)

    對(duì)標(biāo)簽定義進(jìn)行修改后,要在標(biāo)簽定義的位置按 C-c C-c 刷新才能生效。

  • 在配置文件中定義 上面的標(biāo)簽定義只能在當(dāng)前文件生效,如果要在所有的.org 文件中生效,需要在 Emacs 配置文件 .emacs 中進(jìn)行定義:

(setq org-tag-alist '(

                    (:startgroup . nil)                         ("桌面" . ?d) ("服務(wù)器" . ?s)                    (:endgroup . nil)                    ("編輯器" . ?e)                    ("瀏覽器" . ?f)                     ("多媒體" . ?m)                    ))    

默認(rèn)情況下,org會(huì)動(dòng)態(tài)維護(hù)一個(gè)Tag列表,即當(dāng)前輸入的標(biāo)簽若不在列表中,則自動(dòng)加入列表以供下次補(bǔ)齊使用。

為了使這幾種情況(默認(rèn)列表、文件預(yù)設(shè)tags,全局預(yù)設(shè)tags)同時(shí)生效,需要在文件中增加一個(gè)空的TAGS定義:

#+TAGS:

4.4 按tag搜索

使用標(biāo)簽可以更好的管理內(nèi)容。org-mode提供了以下功能:

 
KEYSCOMMENT
C-c \按tag搜索標(biāo)題
C-c / m搜索并按樹狀結(jié)構(gòu)顯示
C-c a m按標(biāo)簽搜索多個(gè)文件(需要將文件加入全局agenda)

可以使用邏輯表達(dá)式限制條件,更準(zhǔn)確靈活的搜索

+     和      a+b     同時(shí)有這兩個(gè)標(biāo)簽-     排除    a-b     有 a 但沒有 b|     或      a|b     有 a 或者有 b&     和      a&b     同時(shí)有 a 和 b,可以用“+”替代

在查詢視圖中 C-c C-c 退出

5 導(dǎo)出和發(fā)布

更多: http://orgmode.org/manual/Exporting.html

Org-mode可以完美的編輯,但是最終文檔可能需要發(fā)布成其他的格式。 Org-Mode 支持多種文檔的輸出,包括:

  • 文本
  • 網(wǎng)頁(yè)
  • PDF(需要 Latex 支持)
  • XOXO
  • FreeMind/Xmind
  • Docbook
  • iCalendar(蘋果 iCal 文件)
  • ……

5.1 準(zhǔn)備工作

為了更好的發(fā)布文檔,還需要做一些準(zhǔn)備工作。主要是為文檔添加一些”元數(shù)據(jù)“,使得發(fā)布的時(shí)候能更好地識(shí)別文檔的內(nèi)容。

5.1.1 文檔元數(shù)據(jù)

具體包括:

#+TITLE:       the title to be shown (default is the buffer name)#+AUTHOR:      the author (default taken from user-full-name)#+DATE:        a date, an Org timestamp1, or a format string for format-time-string#+EMAIL:       his/her email address (default from user-mail-address)#+DESCRIPTION: the page description, e.g. for the XHTML meta tag#+KEYWORDS:    the page keywords, e.g. for the XHTML meta tag#+LANGUAGE:    language for HTML, e.g. ‘en’ (org-export-default-language)#+TEXT:        Some descriptive text to be inserted at the beginning.#+TEXT:        Several lines may be given.#+OPTIONS:     H:2 num:t toc:t \n:nil @:t ::t |:t ^:t f:t TeX:t ...#+BIND:        lisp-var lisp-val, e.g.: org-export-latex-low-levels itemize               You need to confirm using these, or configure org-export-allow-BIND#+LINK_UP:     the ``up'' link of an exported page#+LINK_HOME:   the ``home'' link of an exported page#+LATEX_HEADER: extra line(s) for the LaTeX header, like \usepackage{xyz}#+EXPORT_SELECT_TAGS:   Tags that select a tree for export#+EXPORT_EXCLUDE_TAGS:  Tags that exclude a tree from export#+XSLT:        the XSLT stylesheet used by DocBook exporter to generate FO file

其中#+OPTIONS是復(fù)合的選項(xiàng),包括:

H:         set the number of headline levels for exportnum:       turn on/off section-numberstoc:       turn on/off table of contents, or set level limit (integer)\n:        turn on/off line-break-preservation (DOES NOT WORK)@:         turn on/off quoted HTML tags::         turn on/off fixed-width sections|:         turn on/off tables^:         turn on/off TeX-like syntax for sub- and superscripts.  If           you write "^:{}", a_ will be interpreted, but           the simple a_b will be left as it is.-:         turn on/off conversion of special strings.f:         turn on/off footnotes like this[1].todo:      turn on/off inclusion of TODO keywords into exported texttasks:     turn on/off inclusion of tasks (TODO items), can be nil to remove           all tasks, todo to remove DONE tasks, or list of kwds to keeppri:       turn on/off priority cookiestags:      turn on/off inclusion of tags, may also be not-in-toc<:         turn on/off inclusion of any time/date stamps like DEADLINES*:         turn on/off emphasized text (bold, italic, underlined)TeX:       turn on/off simple TeX macros in plain textLaTeX:     configure export of LaTeX fragments.  Default autoskip:      turn on/off skipping the text before the first headingauthor:    turn on/off inclusion of author name/email into exported fileemail:     turn on/off inclusion of author email into exported filecreator:   turn on/off inclusion of creator info into exported filetimestamp: turn on/off inclusion creation time into exported filed:         turn on/off inclusion of drawers

這些元數(shù)據(jù)可以根據(jù)需要設(shè)置。建議放在文檔的開頭部分。如,本文采用的元數(shù)據(jù)如下:

#+TITLE: org-mode: 最好的文檔編輯利器,沒有之一#+AUTHOR:Holbrook Wong#+EMAIL: wanghaikuo@gmail.com#+KEYWORDS: emacs, org-mode#+OPTIONS: H:4 toc:t 
5.1.2 內(nèi)容元數(shù)據(jù)

通常在行首以“#+”開頭,可以有多種用途。

  • 分行區(qū)塊
    默認(rèn)內(nèi)容不換行,需要留出空行才能換行。定義了分行的區(qū)塊可以實(shí)現(xiàn)普通換行:
    #+BEGIN_VERSE Great clouds overhead Tiny black birds rise and fall Snow covers Emacs     -- AlexSchroeder#+END_VERSE
  • 縮進(jìn)區(qū)塊
    通常用于引用,與默認(rèn)格式相比左右都會(huì)留出縮進(jìn):
    #+BEGIN_QUOTE  縮進(jìn)區(qū)塊#+END_QUOTE
  • 居中區(qū)塊
    #+BEGIN_CENTEREverything should be made as simple as possible, \but not any simpler#+END_CENTER
  • 代碼區(qū)塊
    #+BEGIN_SRC ruby  require 'redcarpet'  md = Redcarpet.new("Hello, world.")  puts md.to_html#+END_SRC
  • 例子
    : 單行的例子以冒號(hào)開頭#+BEGIN_EXAMPLE 多行的例子 使用區(qū)塊#+END_EXAMPLE
  • 注釋
    以‘#‘開頭的行被看作注釋,不會(huì)被導(dǎo)出

    區(qū)塊注釋采用如下寫法:

    #+BEGIN_COMMENT  塊注釋  ... #+END_COMMENT
  • 表格與圖片
    對(duì)于表格和圖片,可以在前面增加標(biāo)題和標(biāo)簽的說(shuō)明,以方便交叉引用。

    比如在表格的前面添加:

    #+CAPTION: This is the caption for the next table (or link)#+LABEL: tbl:table1

    則在需要的地方可以通過(guò)

    \ref{table1}

    來(lái)引用該表格。

5.1.3 嵌入Html

對(duì)于導(dǎo)出html以及發(fā)布,嵌入html代碼就很有用。比如下面的例子適用于格式化為cnblogs的代碼塊:

#+BEGIN_HTML  <div class="cnblogs_Highlighter">  <pre class="brush:cpp">  int main()  {    return 0;  }  </pre>  </div>#+END_HTML

相當(dāng)于在cnblogs的網(wǎng)頁(yè)編輯器中插入"c++"代碼。

5.1.4 包含文件

當(dāng)導(dǎo)出文檔時(shí),你可以包含其他文件中的內(nèi)容。比如,想包含你的“.emacs”文件,你可以用:

     #+INCLUDE: "~/.emacs" src emacs-lisp

可選的第二個(gè)第三個(gè)參數(shù)是組織方式(例如,“quote”,“example”,或者“src”),如果是 “src”,語(yǔ)言用來(lái)格式化內(nèi)容。組織方式是可選的,如果不給出,文本會(huì)被當(dāng)作 Org 模式的正常處理。用 C-c ,可以訪問(wèn)包含的文件。

5.1.5 嵌入 LaTex

對(duì)于需要包含數(shù)學(xué)符號(hào)和特殊方程的科學(xué)筆記,Org 模式支持嵌入 LaTeX 代碼到文件中。你可以直接使用類 TeX 的宏來(lái)輸入特殊符號(hào),輸入方程,或者整個(gè) LaTeX 環(huán)境。

Angles are written as Greek letters \alpha, \beta and \gamma. The mass ifthe sun is M_sun = 1.989 x 10^30 kg. The radius of the sun is R_{sun} =6.96 x 10^8 m. If $a^2=b$ and $b=2$, then the solution must be either$a=+\sqrt{2}$ or $a=-\sqrt{2}$.\begin{equation}x=\sqrt\end{equation}

特殊設(shè)置之后,導(dǎo)出 HTML 時(shí) LaTeX 代碼片斷會(huì)生成圖片并包含進(jìn)來(lái)。

5.2 導(dǎo)出

做好準(zhǔn)備工作后,就可以導(dǎo)出了。使用命令:

C-c C-e

然后選擇相應(yīng)的格式,就可以導(dǎo)出對(duì)應(yīng)的文件了。

5.3 發(fā)布

Org 包含一個(gè)發(fā)布管理系統(tǒng),可以配置一個(gè)由相互鏈接的 Org 文件組成的工程項(xiàng)目的自動(dòng)向 HTML 轉(zhuǎn)換。你也可以設(shè)置 Org,將導(dǎo)出的 HTML 頁(yè)面和相應(yīng)的附件如圖片,源代 碼文件等自動(dòng)上傳到服務(wù)器。

下面是一個(gè)例子:

(setq org-publish-project-alist     '(("org"        :base-directory "~/org/"        :publishing-directory "~/public_html"        :section-numbers nil        :table-of-contents nil        :style "<link rel=\"stylesheet\"               href=\"../other/mystyle.css\"               type=\"text/css\"/>")))

發(fā)布相關(guān)的命令:

 
命令說(shuō)明
C-c C-e C提示指明一個(gè)項(xiàng)目,將所有的文件發(fā)布
C-c C-e P發(fā)布包含當(dāng)前文件的項(xiàng)目
C-c C-e F只發(fā)布當(dāng)前文件
C-c C-e E發(fā)布所有項(xiàng)目

Org 用時(shí)間戳來(lái)查看文件是否改變。上面的命令只發(fā)布修改過(guò)的文件。你可以給它們加上前綴來(lái)強(qiáng)制重新發(fā)布所有的文件。


Date: 2012-04-15 17:59:22 CST

Author: Holbrook Wong

Org version 7.8.08 with Emacs version 23

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Emacs Org mode基礎(chǔ)用法
使用org-mode來(lái)GTD(1)— 入門 | YIFEIYANG
Emacs月月積累(終結(jié)篇):熟練使用org
CEO 的 Emacs 秘籍
Emacs - 普通人的編輯利器
emacs - GTD實(shí)踐---使用Emacs和Org-mode
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服