Sublime編寫Markdown,以及云端自動同步方案(Sublime + Evernote 印象筆記,Dropbox)

為什么會寫這樣的一個主題,最主要的痛點來自于以下兩個方面。首先,立志經(jīng)常寫博客的我,希望能擁有優(yōu)雅地寫作體驗和得心應手的編輯環(huán)境,而對于經(jīng)常碼代碼的我來說最喜歡的編輯器莫過于Sublime,這個在業(yè)界被贊譽無數(shù)皇冠加冕的神器,讓你遇見就會產(chǎn)生恨晚的感覺,那么自然而然就需要建立一個基于Sublime的舒暢的Markdown編輯環(huán)境。再者,我需要在多終端編輯自己的博客,例如我在公司的PC上寫了一篇博客,當我回到家的時候,仍然希望繼續(xù)完成剛才的那篇博客,而如果每次都需要用硬盤來回復制粘貼拷貝,那簡直如同回到了石器時代一樣low的不得了,這時就需要一個舒適好用便捷的云同步的解決方案來搞定它。基于此,我花了一些時間解決了這些問題,也應運而生了這篇文章。

至于為什么要用Markdown來編輯,網(wǎng)上已經(jīng)有無數(shù)關(guān)于Markdown的介紹和贊譽,同時對于經(jīng)常混跡于全球最大同性交友網(wǎng)站GitHub的碼農(nóng),Markdown是必不可少的技能。而且Hexo天生集成了Markdown,因此我們可以采用這樣的語法來編寫博客。Markdown簡單的語法易用的規(guī)則,可以使我們更加專注于內(nèi)容的編寫,同時自動生成極為美觀的排版,總之,帶給我們良好的編輯體驗。當然,Markdown的編輯器有很多很多,對于純碼字的文字工作者而言,大可選擇更為簡單方便的編輯器,這里有一篇文章可供參考(好用的Markdown編輯器一覽),但是對于程序員而言,最好的就是Sublime!

構(gòu)建基于Sublime的良好的Markdown編輯環(huán)境

1. Sublime主題的選擇

選擇一款自己喜歡的主題配色可以讓我們工作的時候更加的愉悅,效率也更高。我自己選擇的主題是Material Theme, 這個在GitHub上獲得6000+Star的精品,它的大概配色如下圖所示(官方配圖)


一開始選擇Material Theme這個主題,完全是因為它的名字,因為我是一名Android開發(fā)者,所以對Google的Material Design有一種不能抗拒的感覺,雖然這兩者之間似乎除了名字相同之外沒有任何關(guān)系,但我還是喜歡上了它。
前人種樹,后人乘涼,這里有一篇關(guān)于Sublime 主題推薦的文章:Sublime插件:主題篇

2. 插件的安裝

Sublime 擁有非常好的擴展性,因為使用之廣泛,因此全球有很多的開發(fā)者為其開發(fā)了大量優(yōu)秀的第三方插件,而如何安裝卸載和管理第三方的插件,就需要 Package Control 這款插件,安裝的方法如下鏈接:Package Control Install
之后就可以進行第三方插件的安裝了,Ctrl+Shift+P 之后打開命令板,輸入 Package Control:Install Package,選擇確認之后,就可以打開選擇安裝第三方庫的面板,例如要安裝上面的 Material Theme 主題,輸入 Material Theme 之后選擇即可安裝。

3. Markdown編輯環(huán)境插件:Markdown Editing

Markdown Editing 是一款側(cè)重于Markdown語法編輯的插件,它主要有以下的一些特點:

  • 更好的句法理解,
  • 更好的著色方案以及代碼高亮
  • 實用的Markdown編輯特性,即對插入圖片,鏈接,角標,引用,標題等等,有快捷鍵的實現(xiàn)
  • 支持 Standard Markdown, GitHub flavored Markdown, MultiMarkdown 三種語法

官方給的配圖是這樣子的


但是偏白色的背景讓我感覺很別扭,與剛才設定的主題相差太大了,不能忍啊~ 好在這個也是可以修改自定的,在 Sublime 菜單欄打開 Preferences > Package Settings > Markdown Editing > Markdown GFM settings - User 添加以下的代碼,設置成我們自己喜歡的主題配色

{
    "color_scheme": "Packages/Material Theme/schemes/OLD/Material-Theme.tmTheme",
}

4. Markdown預覽插件:主要有兩個 OmniMarkupPreviwerMarkdownPreview

通常我們還有需要預覽用Markdown語法編寫的文章的最終排版的需求,以上提到的兩個插件實現(xiàn)了這樣的功能。OmniMarkupPreviewer 插件的使用命令如下:

    Ctrl+Alt+O: Preview Markup in Browser.
    Ctrl+Alt+X: Export Markup as HTML.
    Ctrl+Alt+C: Copy Markup as HTML.

MarkdownPreview的編譯指令為

    Ctrl + B

之后會在同樣的文件夾下生成html的文件,打開即可預覽效果。如果更改了文章,需要再次編譯,打開才能看到更改的效果。
以上兩者之間的區(qū)別主要有這幾個方面:

  • 前者可以進行實時的預覽,后者不可以,后者需要先進行編譯生成HTML文件,再查看。
  • 前者很多語法格式無效果,后者均有,例如,目錄的生成,參考角標的生成,待辦事項的顯示等等。

總結(jié),前者可以實現(xiàn)文本的實時更新,后者可以更加完整有效的顯示Markdown的語法格式。

至此,基于Sublime的Markdown的編輯環(huán)境已經(jīng)搭建完成。

文檔云端自動同步的方案

關(guān)于云端同步,我的核心需求是,可以無需去操心所有的要同步的操作,當我在一個終端編輯好之后,不再需要做任何別的事情,文件會自動同步到我的另一個終端,而比如百度云盤則需要手動上傳下載。這也正是我上面提到的需要在公司和家里都編輯同一份博客的需求。這里有以下的兩種解決方案

一、Dropbox

Dropbox 是最實用的文件同步工具,能夠?qū)⒋鎯υ诒镜氐奈募詣油降皆贫说姆掌鳌5橇钊诉z憾的是,這款軟件的服務在國內(nèi)無法使用,必須要科學上網(wǎng)才行。而作為程序員需要經(jīng)常的科學上網(wǎng),所以這對我來說是可以接受的。Dropbox需要申請一個個人賬號,之后安裝相應的客戶端,如Windows端,Dropbox會創(chuàng)建在 $env:userprofile\Dropbox 路徑下的一個文件夾,而你需要把希望同步到云端的所有文件,放在這個文件夾中,并保持處于科學上網(wǎng)的狀態(tài)下,即可自動同步到Dropbox云端。同時,在另一臺終端登錄相同的Dropbox賬號,即可自動將云端的文件同步到本地。

1. 同步Sublime的配置

首先碰到的一個問題是,要在多終端使用Sublime,但是又希望我們在一個電腦上更改的配置能自動同步到另一臺電腦。這時便可以采用Dropbox的方案,具體實現(xiàn)如下。在 Sublime 菜單欄打開 Preferences > Browse Packages... 打開Sublime的文件夾,將Users的文件夾剪切到Dropbox目錄(如Windows平臺的$env:userprofile\Dropbox)下,再在剛才的Sublime文件夾下創(chuàng)建一個User的文件夾,符號鏈接到Dropbox下的User文件夾,其中Windows下創(chuàng)建符號鏈接的命令如下:

cmd /c mklink /D 帶鏈接符號的文件夾 目標文件夾

比如,先命令行進入剛才打開的Sublime文件夾下,然后創(chuàng)建符號鏈接的命令如下:

cmd /c mklink /D User $env:userprofile\Dropbox\User

這是一種值得借鑒的方式,你想同步的任何軟件的任何配置文件,都可以采用符號鏈接的方式進行,將真正的文件存儲在Dropbox文件夾下,再在它原來需要出現(xiàn)的位置,創(chuàng)建符號鏈接指向Dropbox下的相應的文件,即可實現(xiàn)文件的自動云端同步。

2. Hexo博客博文的云端同步

借鑒以上創(chuàng)建符號鏈接的方式,在Hexo博客的根目錄下,將source文件夾放在Dropbox目錄下,再在原Hexo博客根目錄下創(chuàng)建source文件夾到Dropbox文件夾下source文件夾的符號鏈接,即可實現(xiàn)云端自動同步博客所有資源的方案。從此便可隨心所欲的在公司和家里操作編輯同樣一份博文嘍。

符號鏈接

同時,Dropbox在移動端也有相應的產(chǎn)品,我在我的Android手機安裝了Dropbox的客戶端,這樣就可以在隨時隨地查看我編輯的博文,而博文是Markdown文件,可以下載MarkdownX的一款App,這是一款在移動端非常棒的可以查看預覽編輯Markdown文件的應用,最重要的是,它可以和Dropbox聯(lián)動!!!

云端同步的全套解決方案搭建完成。

二、Sublime + Evernote(印象筆記)

云端同步的另一個方案的出發(fā)點是這樣的。我習慣每日會寫工作日報,包括自己當天的工作計劃,工作總結(jié),學到的內(nèi)容,一些感悟等等。我希望可以在 Sublime 中編輯它,而且它能夠自動同步到移動端和另一臺電腦,使我可以隨時隨地的查看和編輯。當然使用第一種方案也是可以的。但是這個需求的核心是我需要的是筆記的同步,而不需要同步文件,因此我更喜歡用專業(yè)的云端筆記產(chǎn)品。而在國內(nèi)知名度很高的有道云筆記,我之所以沒有選擇它,是因為沒有和Sublime聯(lián)動的插件可以供我使用,我無法在Sublime中去編輯我的工作日報,只能在有道云筆記的客戶端編輯,而且客戶端暫不支持Markdown編輯,因此還要考慮排版云云,啊,簡直不能忍!選擇印象筆記就是因為這款在Sublime上的插件:Evernote。這使得我可以直接在Sublime中創(chuàng)建一個新的工作日報,并且以Markdownd的語法去編寫,之后同步到印象筆記,自動生成排版,體驗實在太棒啦!下面就來看如何搭建這套方案

1. 安裝 Evernote 插件

在Sublime中按 Ctrl+Shift+P 打開命令板,輸入 Package Control:Install Package 打開下載倉庫,輸入 Evernote 下載安裝。

2. 連接Sublime到你的印象筆記賬號

第一次使用Evernote需要連接你的賬號,訪問該網(wǎng)站 https://app.yinxiang.com/api/DeveloperToken.action 獲取到你的賬號對應的Token,這個Token就是你的賬號的認證標志,所以要切記保密,任何人拿到這個Token就如同拿到你的密碼一樣,可以進行你印象筆記中的任何操作。獲取到Token之后,打開 Sublime 菜單欄中 Preferences > Package Settings > Evernote > Settings-User 鍵入上述網(wǎng)頁所顯示的 noteStoreUrl 和 token 字段。保存,并重新啟動 Sublime ,完成賬號的關(guān)聯(lián)。

{
    "noteStoreUrl": "your noteStoreurl XXX",
    "token": "your token XXX",
}

3. 使用 Evernote

可以通過 Ctrl+Shift+P 打開命令板,鍵入 Evernote 就會出現(xiàn)所有的關(guān)于Evernote插件的指令,常用的指令包括

Command Palette > Evernote: New empty note
Command Palette > Evernote: Open Evernote Note
Command Palette > Evernote: Send to Evernote
Command Palette > Evernote: Update Evernote Note

以上指令的詳細解釋,可參照 Evernote 的官方 GitHub:Evernote
當然,我們可以直接設置快捷鍵完成相應的操作。在Sublime的菜單欄中打開 Preferences > Key Bindings - User 鍵入以下的設置

[
    { "keys": ["ctrl+e", "ctrl+p"], "command": "show_overlay", "args": {"overlay": "command_palette", "text": "Evernote: "} },
    { "keys": ["ctrl+e", "ctrl+o"], "command": "open_evernote_note" },
    { "keys": ["ctrl+s"], "command": "save_evernote_note", "context": [{"key": "evernote_note"}, {"key": "evernote_has_guid"}] },
    { "keys": ["ctrl+s"], "command": "send_to_evernote", "context": [{"key": "evernote_note"}, {"key": "evernote_has_guid", "operator": "equal", "operand": false}] },
]

以上快捷鍵的解釋,第二個設置表示,連續(xù)按 "ctrl+e", "ctrl+o" 會在Sublime中打開云端的印象筆記,可以進行相應的文件夾和文件的選擇,確認即可打開。第三個設置表示,在打開的是一個印象筆記文本的情況下,按"ctrl+s"可以直接保存到云端。第四個設置表示,如果是一個新建的筆記(例如通過 Command Palette > Evernote: New empty note 命令在 Sublime 中新建的一個筆記),還沒有在云端,按"ctrl+s"可以將此筆記發(fā)送到云端。

4. 建立模板

每次新建一個文件,我們可能需要一些模板,這是可以實現(xiàn)的。在 Sublime 的菜單欄打開 Preferences > Package Settings > Evernote > Settings-User 鍵入以下的字段

"default_template": "Packages/User/EvernoteNote.md",

然后打開 Preferences > Browse Packages... 打開User文件夾,新建一個EvernoteNote.md文件作為一個模板,需要注意的是,需要把這個文件轉(zhuǎn)換為UNIX格式,才能正常的使用。

5. 注意事項

在印象筆記的如上使用過程中,發(fā)現(xiàn)一個非常嚴重的問題,就是如果我本地的一個 Markdown 在 Sublime 中打開編輯,之后發(fā)送到云端,如果直接在打開的這個文件繼續(xù)編輯保存,是可以繼續(xù)上傳到云端的,而假如我此時在 Sublime 中關(guān)閉這個本地的文件,再次打開,此時系統(tǒng)將無法確認這個文件是和云端的印象筆記的某個文件是關(guān)聯(lián)的,也就是說,這個時候,你無法再將新的更改添加到剛才的那個云端筆記中,只能重新發(fā)送一個相當于新的筆記到云端。這是一個非常不好的體驗和痛點,我也在開發(fā)這款插件的作者的Github中看到了有關(guān)這個問題的討論,可能因為確實十分棘手,作者最終并沒有給出解決方案。
而我們可以通過改變我們的使用方式來繞開以上的痛點。使用流程如下,先通過 Command Palette > Evernote: New empty note 新建一個筆記,定義好我們筆記的文件名和所在的文件夾,保存這個筆記,相當于發(fā)送到云端,這時我們就可以編輯了,當編輯完成關(guān)閉之后,下次通過 Command Palette > Evernote: Open Evernote Note 命令直接打開云端的一個筆記進行修改和編輯,這很好的解決了本地文件與云端文件的關(guān)聯(lián)問題。
總之,核心的思想就是,不在本地進行編輯,只編輯云端。Sublime只是一個用來編輯云端筆記的編輯器,真正的存儲位置就是在云端。

以上的所有關(guān)于 Evernote 的設置可以參考 Evernote 的GitHub主頁。

至此,Sublime + Evernote 的云端同步方案搭建完成,可以享受暢爽的多端同步筆記了。在公司電腦寫的工作日報,可以直接在家里PC和手機端進行查看和編輯,從此走向人生巔峰~~~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,001評論 6 537
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,786評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,986評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,204評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,964評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,354評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,410評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,554評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,106評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,918評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,093評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,648評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,342評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,755評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,009評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,839評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,107評論 2 375

推薦閱讀更多精彩內(nèi)容