pangu-spacing 20170317.157(in MELPA)
Minor-mode to add space between Chinese and English characters.

概要

日本語においては、いわゆる半角文字と全角文字の間にスペースを
入れた方が見やすいと言われています。

それを自動で行ってくれるパッケージは
かつて text-adjust.el がありましたが、
今はメンテナンスされていないようです。

そこで、この pangu-spacing.el を使ってみてください。

元々は中国語と英語の間に自動でスペースを入れるものですが、
正規表現を日本語用に書き換えてしまえばそのまま日本語で使えます。

変数 pangu-spacing-real-insert-separtor をtに設定することで、
ファイル書き込み時に全角・半角間に実際にスペースを挿入します。

ファイルに書き込まれるまではオーバーレイにより
見た目上スペースが入っているだけです。

中国産なんて嫌という嫌中でない限り、使ってみる価値はあります(笑)

20150204062311.png
Fig1: 全角・半角間に自動でスペース挿入!

インストール

パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。

(package-initialize)
(setq package-archives
      '(("gnu" . "http://elpa.gnu.org/packages/")
        ("melpa" . "http://melpa.org/packages/")
        ("org" . "http://orgmode.org/elpa/")))

初めてpangu-spacingを使う方は
以下のコマンドを実行します。

M-x package-install pangu-spacing

アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。

M-x package-install package-utils (初めてアップグレードする場合のみ)
M-x package-utils-upgrade-by-name pangu-spacing

設定 150204060643.pangu-spacing.el(以下のコードと同一)

;;; chinse-two-byte→japaneseに置き換えるだけで日本語でも使える
(setq pangu-spacing-chinese-before-english-regexp
  (rx (group-n 1 (category japanese))
      (group-n 2 (in "a-zA-Z0-9"))))
(setq pangu-spacing-chinese-after-english-regexp
  (rx (group-n 1 (in "a-zA-Z0-9"))
      (group-n 2 (category japanese))))
;;; 見た目ではなくて実際にスペースを入れる
(setq pangu-spacing-real-insert-separtor t)
;; text-modeやその派生モード(org-mode等)のみに使いたいならこれ
(add-hook 'text-mode-hook 'pangu-spacing-mode)
;; すべてのメジャーモードに使ってみたい人はこれを
;; (global-pangu-spacing-mode 1)

実行方法

$ wget http://rubikitch.com/f/150204060643.pangu-spacing.el
$ emacs -Q -f package-initialize -l 150204060643.pangu-spacing.el


本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。