[Linux: vim]vim自动生成html代码
如果直接将vim编辑的文字复制粘贴到一些blog的编辑器中,这些代码将会是死板的白纸黑字。如果能加入关键字高亮功能就好了,这样代码阅读起来会很方便。一些blog的编辑器提供了这项功能,一些没有,一些支持的语言不够全面。好在vim的syntax支持的语言够多,绝大部分流行的语言都可以直接找到支持。如果能将vim显示的代码直接转换成为html就好多了,这样很多支持HTML编辑的blog就可以直接使用格式化好的代码。
syntax/2html.vim
使用如下命令即可转换:
:runtime! syntax/2html.vim
注:官方文档说这种转换方式相对较慢,在数据量大的时候会花掉比较长的时间。
TOhtml
使用如下命令即可转换:
:TOhtml
这个命令有几个选项可供设置:
如果你想使代码的行号从0开始,而不是默认的1,你可以使用:
let html_number_lines=0
如果想取消,恢复到默认的状态,可以使用:
unlet html_number_lines
如果你想在html中使用css控制样式以减小生成html文件的体积,你可以使用:
let html_use_css=1
在阅读较长代码时,我们往往喜欢使用如下命令启用代码折叠:
set fdm=syntax
如果这中情况下生成html的话,一部分代码可能因为折叠而被忽略掉,加入如下设置,可以使生成html时忽略掉代码折叠设置,而生成不带有代码折叠的html:
let html_ignore_folding=1
这些选项必须在执行TOhtml命令前设置,也可以写入~/.vimrc中,每次vim启动时自动加载。

图1 使用如上方法生成的~/.vimrc
图2 vim的键盘键位功能图注:这个图设置成为桌面很实用。
参考文献:
http://vimdoc.sourceforge.net/htmldoc/syntax.html 搜索2html和TOhtml
http://vimdoc.sourceforge.net/htmldoc/fold.html 关于vim fold(代码折叠)的介绍
[Linux: vim]vim自动生成html代码的更多相关文章
- [Dynamic Language] 用Sphinx自动生成python代码注释文档
用Sphinx自动生成python代码注释文档 pip install -U sphinx 安装好了之后,对Python代码的文档,一般使用sphinx-apidoc来自动生成:查看帮助mac-abe ...
- wsdl自动生成Java代码,根据wsdl生成Java代码
wsdl自动生成Java代码,根据wsdl生成Java代码 >>>>>>>>>>>>>>>>>&g ...
- 使用xorm工具,根据数据库自动生成 go 代码
使用xorm工具,根据数据库自动生成 go 代码 引入 使用 golang 操作数据库的同学都会遇到一个问题 -- 根据数据表结构创建对应的 struct 模型.因为 golang 的使用首字母控制可 ...
- mybatis自动生成java代码
SSM框架没有DB+Record模式,写起来特别费劲,只能用下面的方法勉强凑合. 上图中,*.jar为下载的,src为新建的空白目录,.xml配置如下. <?xml version=" ...
- 使用mybatis-generator工具自动生成mybatis代码
使用mybatis-generator工具自动生成mybatis代码 步骤如下: 1.引入maven 依赖,在项目pom.xml文件中添加 <plugin> <groupId> ...
- vs code自动生成html代码
在dreamveawer中新建一个htm自动会生成一个标准的html代码,那在vscode得一行一行写吗?太烦了吧,各种关键词搜,哎妈 终于找到了办法,现在这里记录下: 第一步:在空文档中输入! 第二 ...
- ionic + asp.net core webapi + keycloak实现前后端用户认证和自动生成客户端代码
概述 本文使用ionic/angular开发网页前台,asp.net core webapi开发restful service,使用keycloak保护前台页面和后台服务,并且利用open api自动 ...
- 借Adobe XD之力,自动生成Flutter代码
概述 今天,我们来聊聊一个专门为"懒人程序员"准备的工具--Adobe XD.使用它可以快速将原型设计图转换为可执行的Flutter代码, 而由于Flutter自身跨平台的特性,因 ...
- Linux设备文件自动生成
第一种是使用mknod手工创建:# mknod <devfilename> <devtype> <major> <minor> 第二种是自动创建设备节点 ...
- 【转】Intellij IDEA 14中使用MyBatis-generator 自动生成MyBatis代码
Intellij IDEA 14 作为Java IDE 神器,接触后发现,非常好用,对它爱不释手,打算离开eclipse和myeclipse,投入Intellij IDEA的怀抱. 然而在使用的过程中 ...
随机推荐
- 使图片相对于上层DIV始终水平、垂直都居中
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 基于Memcached分布式系统DRDoS拒绝服务攻击技术研究(转)
本次反射式拒绝服务攻击技术基于全球互联网分布式的Memcached服务器,需要储备一定得安全攻防知识,网络协议知识和python代码编程技术.希望在学习本篇文章知识前自行学习相关的基础知识,文章后面同 ...
- smarty调用php函数
模板书写: {'param1'|functionName:'param2':'param3'} php函数原型: echo functionName('param1','param2','param3 ...
- IntelJ 快捷键
1.在IntelJ中和Eclipse中稍有不同,在Eclipse中,输入main再按Alt+/即可自动补全main函数,但是在IntellJ中则是输入psvm,选中即可 2.在方法体内部有for循环, ...
- 【loj2461】【2018集训队互测Day 1】完美的队列
#2461. 「2018 集训队互测 Day 1」完美的队列 传送门: https://loj.ac/problem/2461 题解: 直接做可能一次操作加入队列同时会弹出很多数字,无法维护:一个操作 ...
- Django 分页 以及自定义分页
Django提供了一个新的类来帮助你管理分页数据,这个类存放在django/core/paginator.py.它可以接收列表.元组或其它可迭代的对象. 基本语法 1 2 3 4 5 6 7 8 9 ...
- 洛谷P1290 欧几里得的游戏
题目描述 欧几里德的两个后代Stan和Ollie正在玩一种数字游戏,这个游戏是他们的祖先欧几里德发明的.给定两个正整数M和N,从Stan开始,从其中较大的一个数,减去较小的数的正整数倍,当然,得到的数 ...
- jsp 的 3 个编译指令
JSP 的编译指令是通知 JSP 引擎的消息,它不直接生成输出. 常见的编译指令有如下三个: 1.page:该指令是针对当前页面的指令 2.include:用于指定包含另一个页面 3.taglib:用 ...
- SpringBoot项目中使用swagger2暴露resftul接口增加JWT来进行安全性验证
首先推荐两篇文章: 关于保护RestAPI的一些介绍: http://www.jianshu.com/p/6307c89fe3fa token与session的一些区别漫谈: http://www.j ...
- 在xadmin中自定义内容的变量及优化汇总
在网上找了很多有关xadmin的内容,发现都不太全 ,找到一篇总结不错的 http://www.lybbn.cn/data/bbsdatas.php?lybbs=62 1.list_display 指 ...