• Stars
    star
    328
  • Rank 128,352 (Top 3 %)
  • Language
    Vim Script
  • Created over 9 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

『盘古之白』中文排版自动规范化的 Vim 插件

pángǔ.vim

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

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

功能

  • 中英文字符间增加一个半角空白。
  • 特殊的,日期可以指定不添加空白。
  • 中文前后的半角标点转成全角标点。
  • 全角英文、数字转成半角字符。
  • 连续的句号自动转省略号。
  • 感叹号、问号最多允许连续重复 3 次。
  • 其他中文标点符号不允许重复出现。
  • 剔除不可见空白。
- 中文和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

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

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

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

支持的文件格式

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

  • Markdown (*.md, *.markdown)
  • Text (*.text, *.txt)
  • Wiki (*.wiki)
  • Vim 中文文档 (*.cnx)

如果想在其他格式的文件中使用这个功能,可以执行 :[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,则整个文档不自动规范化。

参考

More Repositories

1

pinyin

🇨🇳 汉字拼音 ➜ hàn zì pīn yīn
JavaScript
7,048
star
2

detector

🐶 客户端环境识别模块。(UserAgent detector)
JavaScript
884
star
3

markline

Ⓜ️ Timeline via Markdown.
JavaScript
162
star
4

nong

中国农历 (Nong Li)
JavaScript
129
star
5

rime

闲耘的 rime 输入法配置
Makefile
98
star
6

gitlab-notifications

👍 Notifications Center for GitLab
58
star
7

gitplus

🔀 git+ is a hack of git, smart for you.
JavaScript
57
star
8

gitopen

🔀 Open git/hg/svn remote url via web browser from terminal.
JavaScript
43
star
9

obsidian-markline

Markline: Markdown timeline view in Obsidian.
TypeScript
24
star
10

unistring

Unicode String for JavaScript
TypeScript
23
star
11

template.vim

Smart load template for Vim.
Vim Script
18
star
12

rm-trash

rm-trash is utility for safely remove files in Termail.app of macOS.
Shell
18
star
13

hongbao

叫花不理红包
18
star
14

vim-desktop-calendar

Printable Vim desktop Calendar 2024
17
star
15

versioning

Semantic Versioning Number Compare
JavaScript
14
star
16

lcal

lcal: 农历事件自动生成器 (Lunar Calender)
JavaScript
12
star
17

jsgf.vim

Improved `gf` for JavaScript, TypeScript and package.json.
Vim Script
11
star
18

hotoo.github.io

HTML
11
star
19

vimlide

Vimlide: Vim-like HTML(5) Slide.
JavaScript
10
star
20

chrommon.js

A Module Loader for Google Chrome Extensions.
JavaScript
9
star
21

url

Uniform Resource Locator.
JavaScript
9
star
22

Vimmer

Vim user contact list.
8
star
23

star

Star
JavaScript
7
star
24

vimwiki-to-markdown

Convert Vimwiki to Markdown
JavaScript
7
star
25

apassword

移动端密码控件
JavaScript
7
star
26

spm-build-deps

Build project all deps
JavaScript
7
star
27

jstidy

Javascript tidy (Lexical analysis, Syntax Analysis, Semantic Analysis, Formatter, Compression, Outline view)
C++
7
star
28

kissy-editor

KISSY Rich-Text Editor
JavaScript
6
star
29

vimkey

Vim-like key mapping
JavaScript
6
star
30

Edit-with-Vim-tabs

Edit with Vim tabs
6
star
31

perf-javascript-error

Performance test for JavaScript Error.
JavaScript
5
star
32

jobs

🐜 蚂蚁集团・数字金融技术部招聘
5
star
33

markdown.vim

5
star
34

rhythmaware

节奏感知器:根据用户的输入速度自动感知停顿状态。
JavaScript
5
star
35

eggjs-gf.vim

goto file for eggjs( support router, controllers, services, proxy, enums)
Vim Script
4
star
36

round-percent

Round Percent Widget
JavaScript
4
star
37

BaiduIndexAPI.java

第三方百度指数 API (Java版)
Java
4
star
38

js2json

Convert JavaScript Object to JSON format.
JavaScript
4
star
39

smartree

Smart Tree
JavaScript
4
star
40

blog

 · 闲耘™・博客
JavaScript
3
star
41

jsonmatter

JSON formatter tool by stream.
JavaScript
3
star
42

orderby

SQL like sort function.
JavaScript
3
star
43

blacklint

Check certain words.
Shell
3
star
44

highlight-cursor-word.vim

Highlight words which under text-cursor(caret) for Vim.
Vim Script
3
star
45

echo

Echo for Web UI, a replicator.
JavaScript
3
star
46

life

@hotoo's life line. A sample for use [markline](https://github.com/hotoo/markline).
Makefile
3
star
47

hundun

盘古之白,浑沌之初。
JavaScript
3
star
48

csspretty.vim

Vim Script
3
star
49

gitruth

Clean Git Files Forever.
Shell
3
star
50

firebug-lite-ie

Firebug Lite for IE.
3
star
51

chinese-lunar-calendar

中国农历
3
star
52

gaegtalk

基于gae和gtalk群聊服务
Python
2
star
53

Jumsoft-Money-zh_CN.lproj

Jumsoft Money 简体中文语言包。
2
star
54

Doit.vim

Vim plugin for Doit.im
2
star
55

fastclone

The fast clone way
JavaScript
2
star
56

linkage

无限级联动
JavaScript
2
star
57

seajs-gettext

GNU `gettext` like for seajs.
JavaScript
2
star
58

hotoo

1
star
59

scripts

很久之前在 Google Code 上备份的代码
JavaScript
1
star
60

.gitblacklist

Check and Reject certain words commit into git repository.
Shell
1
star
61

Chronos

Sync Server and Client Time by Javascript.
JavaScript
1
star
62

pasteboard

批量粘贴通用解决方案。
JavaScript
1
star
63

BaiduIndexAPI.php

第三方百度指数 API (PHP版)
1
star
64

imagic

Imagic send data by image, for tests mock.
JavaScript
1
star
65

samoyed

The samoyed life timeline who named Summer.
Makefile
1
star
66

open-basketball-court

开放篮球场地标工程
1
star
67

jquery.mousepause.js

Add mousepause event for jQuery (trigger when mouse move stoped).
JavaScript
1
star
68

jquery.editable.js

JavaScript
1
star
69

spm-xgettext

GUN xgettext-like for spm.
JavaScript
1
star
70

family-tree-builder-zh_cn

Family Tree Builder 简体中文语言包
1
star
71

tabbar

TabBar
JavaScript
1
star
72

jquery.checkallable.js

支持Checkbox 和 Radio,及 shiftKey 多选功能。
JavaScript
1
star
73

twitter

@hotoo tweets page.
JavaScript
1
star
74

.n-completion

n completion
1
star
75

repeatable

之前写的『可重复新增』模块,后来写了全新的 Echo,这个模块闲置没管,因为换电脑先备份在这。
JavaScript
1
star
76

Snotra

Vim-like WYSIWYG Web Editor
1
star
77

jsbc

JavaScript code Batch Compiler
JavaScript
1
star