動態

詳情 返回 返回

使用vim做筆記-vimwiki - 動態 詳情

前兩天剛寫了篇自己的實踐過程,目的是在 vim中搭建一個方便寫 LaTeX文檔的環境,現在又來搞一個vimwiki, 這是為啥呢

首先

LaTeX確實很強大,但同時也是更專注於數學相關的排版;如果我用來在邊聽些網課邊做筆記,這想必是極好的,因為課程本身是系統的,連續的,最後出來的筆記也比較完整。

但同時

我感覺我還需要搭建一個自己的知識庫,然後我就看到了 VimWiki,能夠用類似wiki一樣的方式組織自己各種或碎片化或完整的知識庫,確實聽起來很不錯。看了一下,使用起來也非常簡單。

安裝

無腦使用vim-plug,在 \_vimrc中加入

call plug#begin()
... 
Plug 'vimwiki/vimwiki'
call plug#end()

基本使用

  1. 在任意緩衝區的普通模式下輸入 <leader>ww 即可跳轉到你的wiki的首頁。
  2. 在任意單詞上按回車,就會創建相應詞條,單詞也會被 '[[ ]]'包圍。

    • 你也可以按 v進入視圖模式選擇完整詞條名稱,再按回車,避免空格等打斷詞條。
  3. 再按一下回車,會自動跳轉到該詞條對應的.wiki文件;如果沒有該文件,會自動創建。
  4. 基本格式(從github上覆制粘貼的)
    基本符號

    = Header1 =
    == Header2 ==
    === Header3 ===
    
    *bold* -- bold text
    _italic_ -- italic text
    
    [[wiki link]] -- wiki link
    [[wiki link|description]] -- wiki link with description

    列表

    * bullet list item 1
        - bullet list item 2
        - bullet list item 3
            * bullet list item 4
            * bullet list item 5
    * bullet list item 6
    * bullet list item 7
        - bullet list item 8
        - bullet list item 9
    
    1. numbered list item 1
    2. numbered list item 2
        a) numbered list item 3
        b) numbered list item 4
  5. 一些常用鍵映射

    • <Leader>ww -- 打開默認 Wiki頁
    • <Leader>wt -- 在新的 tab頁中打開默認 Wiki頁
    • <Leader>ws -- 選擇並打開 Wiki頁
    • <Leader>wd -- 刪除當前 Wiki頁
    • <Leader>wr -- 重命名當前 Wiki頁
    • <Enter> -- 跟蹤/創建 Wiki頁
    • <Shift-Enter> -- 分割窗口並跟蹤/創建 Wiki頁
    • <Ctrl-Enter> -- 垂直分割窗口並跟蹤/創建 Wiki頁
    • <Backspace> -- 回到父(之前的) Wiki頁
    • <Tab> -- 跳轉到下一個 Wiki鏈接
    • <Shift-Tab> -- 跳轉到上一個 Wiki鏈接
  6. 配置項
    在vim普通模式下輸入 :VimWikiVar 可以看到當前 vimwiki的設置。
    我目前在 _vimrc中手動修改的配置如下

    let g:vimwiki_list =[{
          \ 'template_default': 'def_template',
          \ 'template_path': '$HOME/vimwiki/templates',
          \ 'template_ext': '.html'}]

    其中主要是默認使用的模板的名稱,和模板所在的目錄,在下文中會用到。

繞不開的數學公式

自己的知識庫裏最後還是繞不開要輸入數學符號,還好這些都是支持的,可以在vim的普通模式下輸入 :help vimwiki-syntax-math 查看相關説明。

簡而言之,
- 在行內插入數學符號,用`$$`包住;
- 在新行插入,用
```
{{$
       ...
}}$
```
包住。
- 其它的基本上別的和 LaTeX差不多。

導出成.html文件

與 .tex文件類似,.wiki文件中的數學符號還要經過處理才能顯示。我是直接導出成.html文件,然後在瀏覽器中直接打開看效果的。在.wiki文件緩衝區普通模式下輸入 :VimWiki2HTML, 會在 vimwiki_html 目錄下找到導入的 .html文件。但是如果直接打開,你會發現顯示的還是你的文本輸入。再看看上面説的 vimwiki-syntax-math,當中提到要給瀏覽器加點東西。

  1. 安裝 node.js。這個我在之前為了用 coc,已經裝上了vim折騰筆記
  2. 安裝 mathjax.

    1. 進入命令行,找個合適的地方, 這裏我用的是我的 vimwiki目錄
    2. 輸入 npm install mathjax 詳情可以看 mathjax。然後你就能看到 npm在你指定的目錄下創建了一個 somewhere\vimwiki\node_modules\mathjax 目錄。
    3. 在你的 .html文檔上加上 mathjax的引用

      • 手動在 .html文檔中加上 <script type="text/javascript" src="<mathjax_folder>/es5/tex-chtml.js?config=TeX-AMS-MML_HTMLorMML"></script>,其中 <mathjax_folder>就是剛才安裝 mathjax的目錄
      • 你也可以修改 .html的模板,這樣每次生成 .html文件都可以自動添加。

        1. 在你的模板目錄下新建一個模板(或者編輯已有的默認模板),如:
        <html>
         <script type="text/javascript" src="<mathjax_folder>/es5/tex-chtml.js?config=TeX-AMS-MML_HTMLorMML"></script>
         <head>
         <link rel="Stylesheet" type="text/css" href="%root_path%style.css" />
         <title>%title%</title>
         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
         </head>
         <body>
         <div class="content">
         %content%
         </div>
         <p><small>Page created on %date%</small></p>
         </body>
        </html>

        記得<mathjax_folder>替換成你自己的路徑

        1. 然後修改默認模塊名為這個模版(參考上面的 _vimrc配置),或者在你的 .wiki文件開頭用 %template <template name> 指定想要用的模板
        2. 將 .wiki文件再次導出為 .html,再扔到瀏覽器中看看效果,應該就沒問題了。
user avatar yunxiao0816 頭像 chenzhuodegan_czbzv7 頭像
點贊 2 用戶, 點贊了這篇動態!
點贊

Add a new 評論

Some HTML is okay.