Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/casouri/valign

Pixel-perfect visual alignment for Org and Markdown tables.
https://github.com/casouri/valign

Last synced: 3 months ago
JSON representation

Pixel-perfect visual alignment for Org and Markdown tables.

Lists

README

        

#+TITLE: Valign.el

这个包能对齐 Org Mode、Markdown和table.el 的表格。它能对齐包含不等宽字体、中日韩字符、图片的表格。valign 不会影响 Org Mode(或 Markdown mode)基于等宽字符的对齐。

想要用 valign.el 的话,先加载 valign.el,然后把 ~valign-mode~ 加到 ~org-mode-hook~ 或 ~markdown-mode-hook~ 里即可。
#+begin_src emacs-lisp
(add-hook 'org-mode-hook #'valign-mode)
#+end_src

[[./default.png]]

[[./table.el.png]]

*已知问题:*

- Markdown Mode 里的隐藏链接依然会占用整个链接的宽度,因为隐藏链接用了 valign 还不支持的 character composition。
- 渲染大型表格(≥100行)速度较慢。

*注意:*

如果想要 valign 对齐 table.el 表格,表格里每个单元格的左侧不能有空格,右侧至少要有一个空格。可以用 [[https://github.com/casouri/ftable][ftable.el]] 自动布局表格成这样。

* 安装

键入如下内容,从 GNU ELPA 获取 valign.el:
#+begin_src
M-x package-install RET valign RET
#+end_src

* 自定义

设置 ~valign-fancy-bar~ 为 ~non-nil~ 的效果如下:

[[./fancy-bar.png]]

仅影响 Org Mode和Markdown 的表格。

默认情况下,valign 不会在普通编辑命令之后对齐表格,例如 ~self-insert-command~ 和 ~backward-kill-word~​。如果你不想在某些命令后对齐表格,可以把命令加入 ~valign-not-align-after-list~ 中。

因为 valign 性能一般,所以我们不会对齐大于四千个字的表格。你可以修改 ~valign-max-table-size~ 改变这个限制。valign 会把 ~valign-table-fallback~ face 置于这些没有对齐的表格上。

其他自定义选项:
- ~valign-signal-parse-error~: 设为 non-nil,valign 遇到语法分析错误(parse error)时会报错提示。
- ~valign-lighter~: mode-line 里显示的标识。
- ~valign-box-charset-alist~: 用来定义 table.el 表格,比如 Unicode/ASCII 表格.

* 如果函数 advice 让你浑身发痒

~valign-mode~ 会加一些 advice,即使你关闭了 ~valign-mode~​,这些 advice 也不会消失 ,因为函数advice是全局起效,而 ~valign-mode~ 是局部起效。 如果你想删掉这些 advice,请用 ~valign-remove-advice~ 。 这时候如果有 buffer 里还开着 ~valign-mode~​,这些 buffer 里的 valign 将无法正常工作。