知识库从 vimwiki 切到以 markdown 为主来写
缘起
vimwiki 写了很多年了, 因为是它特有的 wiki 语法, 想把文章转到其他地方的时候总是不太方便, 语法和 markdown 有点差异
vimwiki 也能设置使用 markdown 语法, 但支持很弱, 没有办法 export 为 html
看来是下定决心把多年写的几千个 wiki 转为用 markdown 了
转换
但是作者没有考虑 wiki 文件名中有空格的情况, 把 sh 脚本改进一下:
#! /bin/bash
for x
do
filename=$(echo $x|sed -e "s/\.wiki$/.md/")
sed -f ex "$x" > "$filename"
echo "$filename"
done
运行完后生成了 wiki 对应的 md 文件
搜索
知识库最重要的就是能快速检索, 以前嫌 vimwiki 自带的查找太慢, 写了一个 searchVimWiki 给 vim 调用.
现在换到 markdown 了, 自然也写一个对应的就行 markdown-search, install 以后, .vimrc 里加上
let g:md_path='/Users/bigzhu/Dropbox/blog/data/'
map <buffer> <c-f> :execute 'silent cd' md_path<cr>:SearchMD
map <buffer> <c-g> 0v$gf
"找 md
if exists("*SearchMD")
else
function! SearchMD(Name)
"首先要设置运行路径,避免路径不同
"execute 'silent cd' wiki.path
: echom "silent !markdown_search.py '".g:md_path."' '".a:Name."'"
execute "silent !markdown_search.py '".g:md_path."' '".a:Name."'"
execute ":redraw!"
execute "open search.md"
endfunction
endif
command! -buffer -nargs=1 SearchMD call SearchMD("<args>")
跳转
没有了 vimwiki 给做好跳转, 只能用 vim 自带的 gf 也就是 go file 来跳转了
但是也是不支持空格, 会从空格处当做单独的文件
官方说在 v 下选中, 再 gf, 可是很麻烦啊.
生成的 search 列表里都是一个文件名一行, 于是加了这句 map <buffer> <c-g> 0v$gf, 按下 ctrl+g 就能跳过去了.
文件不存在时生成
vimwiki 在跳到一个没有的 wiki 时会生成, 并打开给你编写, 这也是增加文件的方式
vim 升级后, gf 不能这样做了
官方建议用 map <leader>gf :e <cfile><cr> , 但 <cfile> 只是光标所在那个单词, 如果文章名有空格那就被断词了.
还是自己敲 :e xxxx.md 来生成吧
update:
参看 vim 获取选中的文字, v 模式选中想生成文章的内容以后, 按下 ctrl+g 就可以
如果不是在 v 模式, 按下 ctrl+g, 那么光标所在这一行的所有文字就做为选中标题
细节配置
关了 NERDTree
知识库里几千篇, 如果开着 NERDTree 打开, 那么结果就是卡在那里很久.
在 .vim/ftplugin 里增加文件 markdown.vim, 里面加上
let g:nerdtree_tabs_open_on_console_startup=0
打开预览
chrome 里加了 markdown 插件, 用来杳看和导出 pdf 都还行
markdown.vim 里加上
:nmap <f2> :!/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome "%" <cr>
插件
~~vim-markdown-toc ~~
没必要用了, 参看 升级 markdown_blog 的 markdown 解析器
:GenTocGFM
生成文章目录
加入热键:
:nmap <f2> :GenTocGFM <cr>
vim-table-mode
解决表格的排版问题.
vim-kramdown-tab
解决 GitHub Pages 的列表缩进问题.
生成 blog
以前为 vimwiki 写了 vimblog, 同样不能用了
现在用了标准的 markdown, 有很多现成的, 也不用自己造了.
但是我发现是自己想当然了, 找了一圈下来, 没一个很好的支持静态 md 文件的 blog, 自己再造一个吧.
厌倦了各种很花哨的界面和 js 效果, css 效果, 对返璞归真的简单页面更有好感了
一个非常非常简单的, 只有数行代码的 blog markdown-blog
- 简单: 只有一个 python 文件, 一个 html 模板
- github 风的 css 样式, 虽然 github 老改样式, 就让我在这里怀念下不变的老样式吧
- 简洁漂亮的代码高亮
- 基于 google 的文章检索(上不了 google? 自已想办法)
- 文章作者, 文章时间
- 简单的响应式, 手机上也能看
没有..没有列表, 没有目录, 没有侧边栏
专注内容, 挺好的