使用vim编写hexo文档,并用ultisnips/snipmates/snippets插件补全

时间:2022-09-04 13:38:26

作为一个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:
- ${:text}
categories:
description:
---
${}

保存后打开gvim,建立一个后缀名为.md 、.markdown 或是 .mkd的文件

然后键入init<tab>

若你的snipmate插件正常,应该会自动生成编写hexo博客时所需要的头文件。

同样,你也可以研究下snippet的,定义一套自己喜欢的快捷键!

有机会写一篇关于介绍snippet语法的博客

使用vim编写hexo文档,并用ultisnips/snipmates/snippets插件补全的更多相关文章

  1. 向架构师进军---&gt&semi;如何编写软件架构文档

    如果你对项目管理.系统架构有兴趣,请加微信订阅号"softjg",加入这个PM.架构师的大家庭 问:为什么要编写软件架构文档,它的好处是什么? 答: 有文档的架构有助于不同利益相关 ...

  2. 向架构师进军---&amp&semi;gt&semi;怎样编写软件架构文档

    假设你对项目管理.系统架构有兴趣,请加微信订阅号"softjg",增加这个PM.架构师的大家庭 问:为什么要编写软件架构文档,它的优点是什么? 答: 有文档的架构有助于不同利益相关 ...

  3. 基于 Markdown 编写接口文档

    最近公司开发项目需要前后端分离,这样话就设计到后端接口设计.复杂功能需要提供各种各样的接口供前端调用,因此编写API文档非常有必要了 网上查了很多资料,发现基于Markdown编写文档是一种比较流行而 ...

  4. &lbrack;No0000190&rsqb;vim8安装教程和vim中文帮助文档Vimcdoc安装方法-Vim使用技巧&lpar;5&rpar;

    Vim8.0是近十年来的一次大更新,支持任务.异步I/O.Channels和JSON以及异步计时器.Lambdas 和 Closures等,还包括对GTK + 3的支持.由于ubuntu默认安装的Vi ...

  5. 安装配置Vim中文帮助文档

    1.home/.vimrc是用户自己的vim配置文件,在这个配置文件中设置的配置只影响该用安装前的准备工作: 在home目录下列新建文件夹  : .vim ------------------> ...

  6. 使用 Laravel-Swagger 编写接口文档&lpar;php&rpar;

    使用 Laravel-Swagger 编写接口文档 Table of Contents Swagger 文档管理 官方网站:https://swagger.io/ 快速编写你的 RESTFUL API ...

  7. Win10环境下,告别MarkdownPad,用Notepad&plus;&plus;搭建编写md文档的环境

    1. 为什么抛弃MarkdownPad 2 ? MarkdownPad坊间号称 Windows 环境下最好用的markdown编辑器-EXO me??? 博主入MarkdownPad 2 坑就是因为这 ...

  8. 作为Java开发工程师,如何高效优雅地编写接口文档

    作为一名优秀的Java开发工程师,编写接口文档向来是一件很头疼的事情.本来就被bug纠缠的很累了,你还让我干这? 其实,你可以试试ApiPost. ApiPost的定位是Postman+Swagger ...

  9. jQuery 选择器 筛选器 样式操作 文本操作 属性操作 文档处理 事件 动画效果 插件 each、data、Ajax

    jQuery jQuery介绍 1.jQuery是一个轻量级的.兼容多浏览器的JavaScript库. 2.jQuery使用户能够更方便地处理HTML Document.Events.实现动画效果.方 ...

随机推荐

  1. 你必须知道的 SmartSql !

    介绍 SmartSql = MyBatis + Cache(Memory | Redis) + R/W Splitting +Dynamic Repository + Diagnostics .... ...

  2. PMP学习总结&lpar;1&rpar; -- 引论

    3月18日考试,1个月后出的成绩,当我拿到Pass的结果的时候还是蛮开心的,因为在备考期间,公司项目十分紧急,经常加班到晚上9,10点,而且宝贝女儿也在这个期间出生,所以备考是十分辛苦的,经常晚上11 ...

  3. ACPI&colon;Memory错误解决办法

    Linux系统装在vmware12中,打开虚拟机时报错,报错内容大概如下: ACPI:memory_hp:Memory online failed for 0x100000000 - 0x400000 ...

  4. 99 Times--Kate Voegele

    歌手 Kate Voegele 是美国俄亥俄州的一位年轻创作型歌手,她会唱歌.会写歌.特 别擅长弹吉他.还会弹钢琴.她是美国新生代歌手中的佼佼者. 99 Times--Kate Voegele   S ...

  5. js数组对象深度复制

    var deepCopy = function(o) { if (o instanceof Array) { var n = []; for (var i = 0; i < o.length; ...

  6. 瞄一眼,带你走进SparkSQL的世界

    本文由  网易云发布. 作者:范欣欣(本篇文章仅限知乎内部分享,如需转载,请取得作者同意授权.) 最近想来,大数据相关技术与传统型数据库技术很多都是相互融合.互相借鉴的.传统型数据库强势在于其久经考验 ...

  7. XML与web开发-01- 在页面显示和 XML DOM 解析

    前言: 关于 xml 特点和基础知识,可以菜鸟教程进行学习:http://www.runoob.com/xml/xml-tutorial.html 本系列笔记,主要介绍 xml 在 web 开发时需要 ...

  8. 【转】Base64算法详解

    原文链接:https://blog.csdn.net/robertcpp/article/details/51628647 完整的BASE64定义可见RFC 1421和RFC 2045.编码后的数据比 ...

  9. 常见ADB命令

    常见ADB命令 比如说知道了push和pull操作,就可以实现一个简单的手机助手. 如果有多台设备,操作的时候要指定设备.  -s加设备名称

  10. table样式的下拉框(angularjs)

    前言 虽然使用的技术比较老了,但是思想却还是适用于现在的vue等框架. 一:实现的样式 二:实现包括的功能点 1:下拉框内容是表格,类似于一个弹窗 表格内容最多六行,超出的显示滚动条,表头固定,可滚动 ...