Home

Awesome

pángǔ.vim

盘古插件用于自动格式化、规范化中文排版。

它会将一些不规范,或不推荐的排版方式,在保存文件时进行自动格式化、规范化。

功能

- 中文和English之间要有空白.
+ 中文和 English 之间要有空白。

  let g:pangu_rule_date = 0
- 今天是 2022 年 1 月 21 日星期五。
+ 今天是2022年1月21日星期五。

  let g:pangu_rule_date = 1
- 今天是2022年1月21日星期五。
+ 今天是 2022年1月21日 星期五。

- <世界观: 现代人必须要懂的科学哲学和科学史>这本书重建了我的科学观和世界观.
+ 《世界观:现代人必须要懂的科学哲学和科学史》这本书重建了我的科学观和世界观。

- 0123456789
+ 0123456789

- ABCDEFG...XYZ
+ ABCDEFG...XYZ
- abcdefg...xyz
+ abcdefg...xyz

- 真是太无语了。。。
+ 真是太无语了······

- 苍天哪!!!!!这是怎么了??????
+ 苍天哪!!!这是怎么了???

- 不小心多打了标点,,,和符号。。
+ 不小心多打了标点,和符号。

支持的文件格式

推荐在以下文件格式中使用:

如果想在其他格式的文件中使用这个功能,可以执行 :[range]Pangu 命令。

同时可以在 vimrc 中开启保存文件时自动规范化功能。开启方式:

autocmd BufWritePre *.markdown,*.md,*.text,*.txt,*.wiki,*.cnx call PanGuSpacing('ALL')

注意:目前只对纯文本格式的文件支持较好。其他源代码场景,请谨慎开启。

如果有合适的文件格式推荐,请提交 Issue

安装

via vim-plug:

Plug 'hotoo/pangu.vim', { 'for': ['markdown', 'vimwiki', 'text'] }
let g:pangu_rule_date = 1

via Vundle:

Plugin "hotoo/pangu.vim"

用法

:[range]Pangu 命令

手动执行该命令,将当前缓冲区内容进行规范化。

注意:从 1.0 开始,:Pangu 命令开始支持 range 模式,不兼容地,0.x 默认 规范化所有内容,1.0 由于 range 特殊性,默认规范化选中行或当前行部分。

希望规范化所有内容时,可以使用 :PanguAll 命令。

:PanguAll

规范化当前缓冲区内所有内容。

:PanguDisable 命令

禁止自动规范化。

:PanguEnable 命令

启用自动规范化。

技巧

批量规范化多个文档。

$ vim a.md b.md c.md

:argdo PanguAll | update
:wq

持久化禁用

在编辑的文档中任何位置注明 PANGU_DISABLE,则整个文档不自动规范化。

参考