用這樣的 Vi 配置來保存和組織你的筆記

用這樣的 Vi 配置來保存和組織你的筆記

編譯自: https://opensource.com/article/18/6/vimwiki-gitlab-notes

Vimwiki 和 GitLab 是記錄筆記的強大組合。

用 vi 來管理 wiki 來記錄你的筆記,這聽起來不像是一個符合常規的主意,但當你的日常工作都會用到 vi , 那它是有意義的。

作為一個軟件開發人員,使用同編碼一樣的工具來寫筆記會更加簡單。我想將我的筆記變成一種編輯器命令,無論我在哪裡,都能夠用管理我代碼的方法來管理我的筆記。這便是我創建一個基於 vi 的環境來搭建我自己的知識庫的原因。簡單概括起來,我在筆記本電腦上用 vi 插件 Viwiki 來本地管理我的 wiki。用 Git 來進行版本控制(以保留一箇中心化的更新版本),並用 GitLab 來進行在線修改(例如在我的手機上)。

為什麼用 wiki 來進行筆記保存是有意義

我嘗試過許多不同的工具來持續的記錄我的筆記,筆記裡保存著我的靈感以及需要記住的任務安排。這包括線下的筆記本 (沒錯,紙質的)、特殊的記錄筆記的軟件,以及思維導圖軟件。

但每種方案都有不好一面,沒有一個能夠滿足我所有的需求。例如 思維導圖 ,能夠很好的形象化你的想法(因而得名),但是這種工具的搜索功能很差(和紙質筆記本一樣)。此外,當一段時間過去,思維導圖會變得很難閱讀,所以思維導圖不適合長時間保存的筆記。

我為一個合作項目配置了 DokuWiki ,我發現這個 wiki 模型符合了我大多數的需求。在 wiki 上,你能夠創建一個筆記(和你在文本編輯器中所作的一樣),並在筆記間創建鏈接。如果一個鏈接指向一個不存在的頁面(你想讓本頁面添加一條還沒有創建的信息), wiki 會為你建立這個頁面。這個特性使得 wiki 很好的適應了那些需要快速寫下心中所想的人的需求,而仍將你的筆記保持在能夠容易瀏覽和搜索關鍵字的頁面結構中。

這看起來很有希望,並且配置 DokuWiki 也很容易,但我發現只是為了記個筆記而配置整個 wiki 需要花費太多工作。在一番搜索後,我發現了 Vimwiki,這是一個我想要的 vi 插件。因為我每天使用 vi,記錄筆記就行編輯代碼一樣。甚至在 vimwiki 創建一個頁面比 Dokuwiki 更簡單。你只需要對光標下的單詞按下回車鍵就行。如果沒有文件是這個名字,vimwiki 會為你創建一個。

為了更一步的實現用每天都會使用的工具來做筆記的計劃,我不僅用這個我最愛的 IDE 來寫筆記,而且用 Git 和 GitLab —— 我最愛的代碼管理工具 —— 在我的各個機器間分發我的筆記,以便我可以在線訪問它們。我也是在 Gitlab 的在線 markdown 工具上用 markdown 語法來寫的這篇文章。

配置 vimwiki

用你已有的插件管理工具來安裝 vimwiki 很簡單,只需要添加 vimwiki/vimwiki 到你的插件。對於我的喜愛的插件管理器 Vundle 來說,你只需要在 /.vimrc 中添加 plugin vimwiki/vimwiki 這一行,然後執行 :source ~/.vimrc | PluginInstall 就行。

下面是我的文件 .vimrc 的一部分,展示了一些 vimwiki 配置。你能在 vimwiki 頁面學到更多的配置和使用的的信息。

let wiki_1 = {}

let wiki_1.path = '~/vimwiki_work_md/'

let wiki_1.syntax = 'markdown'

let wiki_1.ext = '.md'

let wiki_2 = {}

let wiki_2.path = '~/vimwiki_personal_md/'

let wiki_2.syntax = 'markdown'

let wiki_2.ext = '.md'

let g:vimwiki_list = [wiki_1, wiki_2]

let g:vimwiki_ext2syntax = {'.md': 'markdown', '.markdown': 'markdown', '.mdown': 'markdown'}

如你在上述配置中所見,我的配置還有一個優點。你能簡單的區分個人和工作相關的筆記,而不用切換筆記軟件。我想讓我的個人筆記可以隨時隨地訪問,而不想我的工作筆記同步到我私人的 GitLab 和計算機中。在 vimwiki 這樣配置要比我試過的其他軟件都要簡單。

這個配置告訴 vimwiki 有兩個不同 Wiki,都使用 markdown 語法(再一次,因為我的日常工作中天天都在用 markdown 語法)。我也告訴 Vimwiki 在哪個文件夾存儲 wiki 頁面。

如果你進入存儲 wiki 頁面的文件夾,你會找到你的 wiki 的普通的 markdown 頁面文件,而沒有其他特殊的 Vimwiki 相關內容,這使得很容易的初始化 Git 倉庫和同步你的 wiki 到中心倉庫。

同步你的 wiki 到 GitLab

這一步檢出一個 GitLab 項目到本地的 VimWiki 文件夾,這步操作和你操作任何 GitHub 的倉庫相同,只不過因為我更喜歡保存我的筆記到我的私人 GitLab 倉庫,所以我運行了一個 GitLab 實例用於我個人的項目。

GitLab 的 wiki 功能可以用來為你的項目創建 wiki 頁面。這些 wiki 就是 Git 倉庫本身。它們使用 markdown 語法,你懂得。

只需要初始化你需要的 wiki ,讓它與你為筆記而創建的項目的 wiki 同步即可。

cd ~/vimwiki_personal_md/

git init

git remote add origin [email protected]:your_user/vimwiki_personal_md.wiki

git add .

git commit -m "Initial commit"

git push -u origin master

在 GitLab 創建一個新的項目後,你就可以從頁面上覆制這些步驟的代碼。唯一的改變是倉庫地址結尾是 .wiki(而不是 .git)。 這會告訴 Git 克隆 wiki 倉庫而不是項目本身。

就是這樣!現在你能夠通過 Git 來管理你的筆記,通過 GitLab wiki 用戶界面來修改筆記。

你可能(像我一樣)不想手動的為每個添加到筆記本的筆記創建一個提交。為了解決這個問題,我使用了 Vim 插件 chazy/dirsetting 。我添加一個 .vimaddr 文件,已經下面的內容:

:cd %:p:h

silent! !git pull > /dev/null

:e!

autocmd! BufWritePost * silent! !git add .;git commit -m "vim autocommit" > /dev/null; git push > /dev/null&

每當我打開 Wiki 文件按下 :w 發佈我的修改時,它就會更新到最新的版本。這樣做會使你的本地文件與中心倉庫保持同步。如果你有合併衝突,通常你需要解決它們。

目前,這就是以我的知識來互動的方法,我很喜歡這方法;請告訴我你對於這個方法的想法,可以在評論區分享你如何追蹤筆記的方法。


via: https://opensource.com/article/18/6/vimwiki-gitlab-notes

作者: Manuel Dewald 選題: lujun9972 譯者: octopus 校對: wxy

本文由 LCTT 原創編譯, Linux中國 榮譽推出


分享到:


相關文章: