前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >简化 kramdown 列表嵌套内容缩进的 Vim 插件

简化 kramdown 列表嵌套内容缩进的 Vim 插件

作者头像
零式的天空
发布于 2022-03-28 05:35:01
发布于 2022-03-28 05:35:01
1.2K00
代码可运行
举报
文章被收录于专栏:零域Blog零域Blog
运行总次数:0
代码可运行

kramdown 的列表嵌套内容的缩进规则很「奇葩」,不是使用自然的 Tab 缩进。

问题

kramdown 的作者对列表嵌套内容的缩进规则的 描述 是:

kramdown does not allow 4 space indent, …… Indentation for list items is always calculated based on the first non-space character after the list item marker.

在年初 GitHub 宣布 GitHub Pages 服务将只支持 kramdown 这个 Markdown 解析引擎时,我曾经总结过从 Redcarpet 迁移到 kramdown 需要做的一些更改,将 GitHub Pages 从 Redcarpet 切换到 kramdown 里有说到,嵌套在列表项里的代码块,如果不按如上规则做缩进的话,将会解析不正常。

比如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1. list item one

    ```python
    print 'hello, world'

list item two

list item two

这当然不是我们想要的,我们应该如何写呢?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1. list item one

   ```python
   print 'hello, world'

list item two

list item two

看出来区别了吗?没错,这种情况下代码块必须缩进三个空格,因为除开列表记号后的第一个非空字符的缩进是三。

那么问题来了,有时候是有序列表,序号是个位数时需要缩进三个空格,序号是两位数时需要缩进四个空格,序号是三位数时(弄这么大的列表是闹哪样?)需要缩进五个空格……有时候是无序列表,只需要缩进两个空格。

当然这是最简单的一级嵌套的情况,如果是多级列表嵌套,那情况就更复杂了,每一次都去手打空格缩进吗?作为一名 Vimer,当然 say no!

所以为此我做了一个简单的小 Vim 插件专门用于解决此问题。

下载地址

使用方法

安装完此插件后,在你需要对列表嵌套内容进行缩进时,不用掰着手指头去数要打多少个空格了,只用按 LeaderTab 就好了。

安装方法

推荐使用 Vundle 来管理你的 Vim 插件,这样你就可以简单三步完成安装:

在你的 vimrc 文件中添加如下内容:

:so $MYVIMRC

:PluginInstall

屏幕截图

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
为 Markdown 生成 TOC 的 Vim 插件
因为饱受 GFM 和 Redcarpet 两种 Markdown 引擎生成 TOC 链接的差异的折磨,而我又不得不同时使用它们——博客基于 Jekyll 使用 Redcarpet(Update 2016/09/16: GitHub Pages 现在已经改为只支持 kramdown),而其它放在 GitHub 仓库里的文档使用 GFM,我决定为我常用的 Markdown 编辑器 Vim 做一款同时支持 GFM 和 Redcarpet 两种 TOC 链接风格的 Table of Contents 自动生成插件。
零式的天空
2022/03/28
4590
为 Markdown 生成 TOC 的 Vim 插件
为 Markdown 生成 TOC 的 Vim 插件
因为饱受 GFM 和 Redcarpet 两种 Markdown 引擎生成 TOC 链接的差异的折磨,而我又不得不同时使用它们——博客基于 Jekyll 使用 Redcarpet(Update 2016/09/16: GitHub Pages 现在已经改为只支持 kramdown),而其它放在 GitHub 仓库里的文档使用 GFM,我决定为我常用的 Markdown 编辑器 Vim 做一款同时支持 GFM 和 Redcarpet 两种 TOC 链接风格的 Table of Contents 自动生成插件。
mzlogin
2020/04/16
1.1K0
【学员分享】程序员效率神器,最常用VIM插件安装大全
在群里言有三老师多次推荐用vim作为编辑程序,作为经验丰富的AI程序员,我想一定有其道理,所以决定好好学习vim。知道vim编辑有很多优点,大家可以在网上搜,我认为最重要的一点就是看起来很牛啊~。但是vim初始界面太原始了,看得我想哭,安装了之后只能用来编辑,如果要运行就需要退出去,通过python test.py来运行,麻烦死了。回想用现成的IDE是多么的舒服。来来来,看一看界面有多简单。
用户1508658
2019/07/26
1.8K0
【学员分享】程序员效率神器,最常用VIM插件安装大全
Cygwin环境下vim配置
vim是Linux发行版的标配编辑器。为什么还要使用cygwin?因为,不可能所有软件/开发都在linux下进行。许多的开发者还在windows下进行。而要使用命令行的便捷工具,于是就有了cygwin。官网看这里http://cygwin.com/
程序员小助手
2020/04/08
3.7K0
分享一些vim插件
该文介绍了如何为 Vim 配置各种插件以实现高效开发,包括用于代码高亮的插件、代码自动补全插件、代码折叠插件、代码片段插件、代码格式化插件、版本控制插件、快捷键和命令行插件以及窗口和标签插件。
IMWeb前端团队
2017/12/29
1.3K0
分享一些vim插件
Linux : Vim 使用与配置 (附 GitHub 自动化配置脚本)
由于经常使用 vim 编辑配置文件,有时候也会进行使用vim 编写一些脚本和c/c++ 程序,所以配置一个常用的 vim 是很是必要的。这篇博文主要是记录vim使用和配置相关的一些知识点。
西湖醋鱼
2020/12/30
4.8K0
Linux : Vim 使用与配置 (附 GitHub 自动化配置脚本)
Vim的配置说明
在网上参考了某大牛个vim配置,然后更改添加了一部分,形成了自己的配置,让Vim变的更强大。
xindoo
2021/01/21
1K0
超级强大的vim配置(vimplus)
最近在重新配置Vim,也在GitHub上找了三个star和fork数目很高的方案,在这里分享给大家: https://github.com/amix/vimrc - star 3,482 ; Fork
_gongluck
2018/03/13
29.8K2
超级强大的vim配置(vimplus)
Vim 插件管理 转
最开始使用 vim 的时候记了几个快捷键,满足基本的使用。此时仍然和在 windows 上使用记事本没有多大区别。
双面人
2019/04/10
1.2K0
Vim 插件管理
                                                                            转
Mac 下升级 vim 并自己配置 vim 的过程
1.升级 vim   我自己 MacBook Pro 的系统还是 10.11 ,其自带的 vim 版本为 7.3 ,我们将其升至最新版: 使用 homebrew : brew install vim --with-lua --with-override-system-vim 这将下载最新的 vim 版本并替换系统自带的 vim 。 安装完成后重启终端,更新环境变量,输入 vim 后 vim 的版本便为最新版本了。 如果以后想更新 vim 版本,直接输入 brew upgrade vim 便能快速升级了。 想
希希里之海
2018/05/16
2.5K0
.vimrc-备份
吴易娃
2024/01/12
1380
python学习-vim插件安装
Vundle 是 Vim bundle 的简称,使用git来管理vim插件,有了它,安装其它插件就方便很多。
py3study
2020/01/06
1.3K0
python学习-vim插件安装
VIM个性化配置(一)
只需在Home目录创建一个 ~/.vimrc 文件即可以配置 vim 了,如需安装插件,在 ~/.vim 目录下创建一个bundle文件夹,插件装在里面。(需安装 Vundle 插件管理器),将以下内容拷入~/.vimrc 文件中即可。
宋天伦
2020/07/27
1.4K0
将 GitHub Pages 从 Redcarpet 切换到 kramdown
GitHub 前不久发布了 New Features 公告,GitHub Pages now faster and simpler with Jekyll 3.0,宣布从 2016 年 5 月 1 日起,GitHub Pages 将只支持 kramdown 作为唯一的 Markdown 引擎。
mzlogin
2020/04/16
6100
Markdown Rules 详解
使用VSCode编写Markdown文件时,建议安装插件markdownlint,它可以帮助自己更加规范的写文章.
DevOps在路上
2023/05/16
8880
vim 个性化设置
Vimscript,一门用于定制Vim的脚本语言。它其实就是 Vim命令。如,在Vim中,保存一个文件使用命令:write(或者缩写 :w)并回车确认。在Vimscript中,使用write实现文件保存功能。
PedroQin
2019/12/18
1.5K0
vim 个性化设置
「个人vim插件+配置」
复制代码时执行`set paste`来取消自动缩进,再`set nopaste`恢复。
饶文津
2020/06/02
1K0
vim 插件管理 Vundle
2) Ag 依赖 ag mac: https://github.com/ggreer/the_silver_searcher windows: https://github.com/k-takata/the_silver_searcher-win32
lukachen
2023/10/22
2020
vim 插件管理 Vundle
golang实战-1:搭建vim-go开发环境
LSB Version: :core-4.1-amd64:core-4.1-noarch
千里行走
2019/11/06
3.5K0
golang实战-1:搭建vim-go开发环境
vim的配置_vim全局配置
因为写了一段时间前端,一直在考虑vim是否能够替代前端无敌编辑器vscode,最后发现只能高仿,自己配置的性能跟vscode下的vim模式差不多,灵活性更高点,喜欢折腾的朋友可以试试,否则用vscode vim模式吧,已经神一般的完美了(不是高级黑-。-)。 这套插件目前包含了代码自动补全,目录树,js/jsx eslint自动格式化,小黑屋模式, 文件搜索ctrlp,快速检索ack,emmet,函数工具条还有各种奇奇插插的主题配置而成, 别想歪。这里我做了一堆的配置,大家可以根据个人喜好,配置任意的快捷键。我是一边做一边写的文章,有些东西可能没考虑到,有问题可以给我留言。
全栈程序员站长
2022/11/14
2.9K0
vim的配置_vim全局配置
相关推荐
为 Markdown 生成 TOC 的 Vim 插件
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验