使用vim编写hexo文档,并用ultisnips/snipmates/snippets插件补全
作为一个vim使用者,编写markdown文档时若不能用vim这怎么能受的了!
下面是我编写markdown的时候用到的插件
Plugin 'Markdown'
Plugin 'Markdown-syntax'
Plugin 'SirVer/ultisnips'
这三个插件的安装与介绍我就不累述了,网上一大堆。
ps.第三个插件的安装使用可参考我之前的文章
下面我介绍一下怎么利用补全插件,修改snippets,方便我们编写markdown文档。
首先,网上存在这样的一篇文章
http://www.topthink.com/topic/10349.html
其中,博主提出了这样一个问题:
代码补全/代码模板(snippet)
博主使用的markdown代码补全工具是snipMate工具来源于github。具体安装方式可以见项目的文档,也可以参照下面的摘录的缩略版:
% cd ~/.vim/bundle
% git clone https://github.com/tomtom/tlib_vim.git
% git clone https://github.com/MarcWeber/vim-addon-mw-utils.git
% git clone https://github.com/garbas/vim-snipmate.git
% git clone https://github.com/honza/vim-snippets.git
这里比较蛋疼的一点是:vim-markdown和vim-snipmate无法自动配合使用,目前看来是因为前者将filetype设置为mkd,而后者需要filetype为markdown才能够生效。由于博主不懂vim-script所以用比较粗暴的方式解决了这个问题。如果有哪位读者知道怎么用vimrc或者其他方法解决这个问题的话,欢迎在博文下面留言!
% cd ~/.vim/bundle/vim-snippets
% cp markdown.snippets mkd.snippets
不过已找不到源头= =,所以我没办法给他留言了。
这里给出我的解决方案。(若你安装了markdown插件,就不需要做出以下操作了)
在vimrc中添加以下内容
" Markdown autocmd BufNewFile,BufRead *.{md,mkd,mkdn,mark*} set filetype=markdown
然后在你的./vim/vimfiles 文件夹下找到snippets文件夹,在其中找到markdown.snippets,(若找不到,markdown插件的文件夹里也会有)
在文件头部添加如下内容
snippet init title: `expand('%:r')` houxiaate: `strftime("20%y-%m-%d %H:%M:%S")` tags: - ${1:text} categories: description: --- ${0}
保存后打开gvim,建立一个后缀名为.md 、.markdown 或是 .mkd的文件
然后键入init<tab>
若你的snipmate插件正常,应该会自动生成编写hexo博客时所需要的头文件。
同样,你也可以研究下snippet的,定义一套自己喜欢的快捷键!
有机会写一篇关于介绍snippet语法的博客