MENU

Emacs23.1_醜い外観をカスタマイズ

Cocoa Emacsをその後も使っている。

前回と同様、iMac環境でもビルドしてみた。
それにしても、Emacsは高機能だけど、見かけが恐ろしく悪い。
おかげで、ついついJedit Xの方へ手を伸ばしたくなる欲求を何度抑えた事か。
きっと外観など気にしない人が使うものなのだろうけど、やはり日常的に使用する物は美しくありたい。

そこでカスタマイズで外観を含めて使いやすい環境構築に挑戦してみた。

Metaキーの仕様変更

メインのAPIセットがCocoaに変更されたとはいえ、Cocoa Emacsも立派なEmacsであることに変わりはない。
スタートアップファイル「~/.emacs.el」を用意するなど、事前準備もこれまでと同様である。
言い換えれば、これまで利用してきた (Carbon Emacsでの) 設定の大半は、Cocoa Emacsに流用可能である。

主要な変更点を列挙しておこう。
まずは特殊キーについて。
Carbon Emacsのときは、CommandキーがMetaキーとして動作したが、Cocoa Emacsでは本来のキーアサインが適用され、OptionキーがMetaキーとして動作する。
たとえば、M-x shellを実行するときには、Command-x shellではなく、Option-x shellとしなければならない。
ちなみに、Carbon Emacsでの挙動に慣れている場合には、以下の記述を~/.emacs.elに書き加える。

;; Command-Key and Option-Key (setq ns-command-modifier (quote meta)) (setq ns-alternate-modifier (quote super))


行番号の表示

vi (vim) にはあるがEmacsに標準装備されていない機能の1つに、行番号の表示がある。
viの場合、「:set number」 (または:set nu) で表示、「:set no number」(または:set nonu) で表示をオン / オフできるが、これまでEmacsでは「setnu.el」などのスクリプトを自前で用意しなければならなかった。
それがEmacs 23.1では「M-x global-linum」の実行でオン / オフできるので有り難い。

ついでに以下の行を~/.emacs.elに記述している。
お察しのとおり、「M-n」 (Command – n) で行番号の表示をオン / オフできるようにしたものだ。
なお、キーのカスタマイズを行う場合、あらかじめ「C-h k」でそのキーバインドが空いているかどうか確認しよう。

(global-set-key "\M-n" 'linum-mode)

090821_03.jpg
標準の機能でviライクに行番号を表示できる。


フォントを設定する

Cocoa Emacsの設定でつまずくのは、おそらく「フォント」だろう。
従来 (Carbon Emacs) とは設定方法が異なるうえ、等幅フォントに関しては初期設定のままでは使えない (英字2文字で漢字1文字にならない) ため、なにかしらの調整が必要だ。

等幅フォントの設定方法は、Emacs上で動作するメールクライアント「Mew」の開発で知られる山本和彦氏のブログを参照させていただいた (「Cocoa Emacsでのフォント設定」)。
そこには、carbonfont.elをCocoa Emacsに対応させることがベストとしつつも、とりあえず現状をしのげる解が示されている。

090821_01.jpg
標準の表示状態。(つ、ありえねぇ・・・)

やはり、いくら高機能なソフトとはいえ作業環境としてフォント表示が汚いと使う気が起きないのである。

私の場合、ウェイトの小さく (線が細い) 丸みを帯びたフォントが好みなので、ヒラギノ丸ゴシックで試してみた。

;; Font
(setq my-font "-*-*-medium-r-normal--14-*-*-*-*-*-fontset-hiramaru")
(setq fixed-width-use-QuickDraw-for-ascii t)
(setq mac-allow-anti-aliasing t)
(if (= emacs-major-version 22)
(require 'carbon-font))
(set-default-font my-font)
(add-to-list 'default-frame-alist `(font . ,my-font))
(when (= emacs-major-version 23)
(set-fontset-font
(frame-parameter nil 'font)
'japanese-jisx0208
'("Hiragino Maru Gothic Pro" . "iso10646-1"))
(setq face-font-rescale-alist
'(("^-apple-hiragino.*" . 1.2)
(".*osaka-bold.*" . 1.2)
(".*osaka-medium.*" . 1.2)
(".*courier-bold-.*-mac-roman" . 1.0)
(".*monaco cy-bold-.*-mac-cyrillic" . 0.9)
(".*monaco-bold-.*-mac-roman" . 0.9)
("-cdac$" . 1.3))))

他のフォントを使用する場合には、まずTerminalで「fc-list」コマンドを利用する。
これで、フォントのXftフォント名を調べることができる。

XFLDフォント名を調べる場合は、Emacs上で以下の行を入力し、行末でC-x C-eとタイプしよう。ズラリ並んだリストから名称を頼りに目的のフォントを探し出しフォントの表示倍率の部分に使えばいい。

(insert (prin1-to-string (x-list-fonts “*”)))

なお、私が動作を確認したフォントは、前述したヒラギノ丸ゴシックのほか、Microsoft Office 2008に付属の「メイリオ」と、フリーのTrueTypeフォント「IPAゴシック」、Adobe製品に付属していた「小塚ゴシック Pro」の4種類。

090821_02.jpg

変更後、これで何とか使える程度。

英字フォントとのバランス調整や行間などを含め、今後とも美しい環境の構築を目指す。


利用中のemacs.el(抜粋)

;; -*- Coding: iso-2022-jp -*-
(set-language-environment 'Japanese)
(set-default-coding-systems 'sjis-dos)
(set-buffer-file-coding-system 'sjis-dos)
(set-clipboard-coding-system 'sjis-mac)
(set-file-name-coding-system 'utf-8)
(if window-system
   (set-keyboard-coding-system 'sjis)
   (show-paren-mode 1)
  (progn
   (set-keyboard-coding-system 'sjis-dos)
   (set-terminal-coding-system 'sjis-dos)))
;; translate clipboard
  (set-selection-coding-system 'sjis-mac)
;; Command-Key and Option-Key
(setq ns-command-modifier (quote meta))
(setq ns-alternate-modifier (quote super))
;; Display Line Number
(global-set-key "\M-n" 'linum-mode)
;; Font
(setq my-font "-*-*-medium-r-normal--14-*-*-*-*-*-fontset-hiramaru")
(setq fixed-width-use-QuickDraw-for-ascii t)
(setq mac-allow-anti-aliasing t)
(if (= emacs-major-version 22)
(require 'carbon-font))
(set-default-font my-font)
(add-to-list 'default-frame-alist `(font . ,my-font))
(when (= emacs-major-version 23)
(set-fontset-font
(frame-parameter nil 'font)
'japanese-jisx0208
'("Hiragino Maru Gothic Pro" . "iso10646-1"))
(setq face-font-rescale-alist
'(("^-apple-hiragino.*" . 1.2)
(".*osaka-bold.*" . 1.2)
(".*osaka-medium.*" . 1.2)
(".*courier-bold-.*-mac-roman" . 1.0)
(".*monaco cy-bold-.*-mac-cyrillic" . 0.9)
(".*monaco-bold-.*-mac-roman" . 0.9)
("-cdac$" . 1.3))))

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次