本文只講兩個函數,對於 markdown
如何高亮之類的問題還請自行谷歌。
然後請打開你自己的 .vimrc
文件。
首先定義一個變量——你自己的 hexo
目錄,如果要跨平臺可以做個判斷之類的,如下:
1 | if has("win32") let g:hexoProjectPath="E:\\cygwin\\home\\XadillaX\\hexo" else let g:hexoProjectPath="~/hexo/" endif |
這個函數大致就是讓你進入你自己的 Hexo
路徑:
1 | fun! OpenHexoProjPath() execute "cd " . g:hexoProjectPath endfun |
接下去就是一個打開 Post
的函數了:
1 | function! OpenHexoPost(...) call OpenHexoProjPath() let filename = "source/_posts/" . a:1 . ".md" execute "e " . filename endfunction |
解析:上面的代碼大意就是進入 Hexo 路徑,然後設定好文件名,最後執行
:e filename
即可打開文件了。
新建的流程跟打開相似,只不過首先要在 Hexo
目錄下執行一遍 hexo new FOO
的命令而已,命令執行完畢之後再打開即可。
1 | function! NewHexoPost(...) call OpenHexoProjPath() let filename = a:1 execute "!hexo new " . filename call OpenHexoPost(a:1) endfunction |
函數寫好後我們最後把函數映射成類似於 :e
, :w
之類的後面能跟着參數的指令即可。
以前木有接觸過的同學可以參考一下這裏的文檔。
1 | command -nargs=+ HexoOpen :call OpenHexoPost("<args>") |
1 | command -nargs=+ HexoNew :call NewHexoPost("<args>") |
當你做完以上步驟的時候,你就可以無論在什麼目錄下在 VIM 裏面通過下面的指令進行新建一篇日誌了:
1 | :HexoNew artical-name |
以及下面的指令來打開一篇已存在的日誌:
1 | :HexoOpen artical-name |
相信看到這裏之後,大家也能自己寫出一個生成的指令了,這裏就不累述了,無非就是:
1 | :!hexo generate |