Files
emacs-conf/lisp/valign/README.org

49 lines
2.2 KiB
Org Mode
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#+TITLE: Valign.el
[[file:README-CN.org][中文 README]]
This package provides visual alignment for Org Mode, Markdown and table.el tables on GUI Emacs. It can properly align tables containing variable-pitch font, CJK characters and images. Meanwhile, the text-based alignment generated by Org mode (or Markdown mode) is left untouched.
To use this package, load it and add ~valign-mode~ to ~org-mode-hook~ or ~markdown-mode-hook~:
#+begin_src emacs-lisp
(add-hook 'org-mode-hook #'valign-mode)
#+end_src
[[./default.png]]
[[./table.el.png]]
*Known problems:*
- Hidden links in markdown still occupy the full length of the link, because it uses character composition which we dont support now.
- Rendering large tables (≥100 lines) is laggy.
*Note:*
For table.el tables to work with valign, each cell has to have at least one space on the right and no space on the left. You can use [[https://github.com/casouri/ftable][ftable.el]] to auto-layout the table for you.
* Install
You can obtain valign.el from GNU ELPA by typing:
#+begin_src
M-x package-install RET valign RET
#+end_src
* Customization
Set ~valign-fancy-bar~ to ~non-nil~:
[[./fancy-bar.png]]
This only affects Org Mode and Markdown tables.
By default, valign doesnt re-align the table after normal edit commands like ~self-insert-command~ and ~backward-kill-word~. If you want valign to not re-align the table after a certain command, add that command to ~valign-not-align-after-list~.
Because valign isnt particularly efficient, it doesnt align tables larger than 4000 characters in size. If you want to change that behavior, customize ~valign-max-table-size~. Valign puts ~valign-table-fallback~ face on those large tables.
Other (less interesting) customization:
- ~valign-signal-parse-error~: Set to non-nil to be informed of parse errors.
- ~valign-lighter~: Lighter in mode-line.
- ~valign-box-charset-alist~: Used for defining table.el tables, e.g., Unicode/ASCII tables.
* If function advice makes you itch
~valign-mode~ adds advice and doesnt remove them even if you close ~valign-mode~ because function advice is global and ~valign-mode~ is local. If you want to remove the advice, use ~valign-remove-advice~. If you run this while some buffer still has ~valign-mode~ on, they break.