【コラム】

OS X ハッキング!

80 Carbon Emacsの設定(2)

    海上忍  [2004/02/23]

    晴れて無借金会社となったうえにiPod miniの予約台数が10万台をオーバー、とAppleの周辺では明るいニュースが続いている。それはさておき、Mac20周年記念モデルは出ないのかなあ。もちろん、四角くて静かで速いのを期待しておりますです、はい。

    さて、今回もCarbon Emacsで使用する「~/.emacs.el」の設定方法について。前回はいきなり事例紹介から入ってしまったが、それではまったく応用が利かなくなる懸念があるため、今回は初期化ファイルを書くときに欠かせないEmacs Lispの基礎知識から話を始めよう。

    Emacs Lispの基本(その1:式の評価)

    Emacs Lispでは、関数にいくつかの引数を与えて全体を括弧で囲む「(関数名 引数1 引数2 引数3 ……)」の書式が基本となる。加算を例にすると、関数「+」を用いて「(+ 100 105 80)」の要領で記述すればOK。試しに以下のとおり入力し、行末でC-x C-e(Controlキーを押しながらxキーを押し、続けてControlキーを押しながらeキーを押す)とすれば直前の式が評価され、画面下部のミニバッファに計算結果の「285」が表示されたはずだ。

    (+ 100 105 80)  ←行末でC-x C-eとタイプ
    285  ←ミニバッファに式を評価した結果が表示される

    Emacs Lispの基本(その2:変数に値を代入する)

    変数(シンボル)に値を格納する「setq」の使い方も覚えておこう。setqは「(set 'シンボル名 値)」という書式で利用されるset関数の亜種に位置づけられるが、シンボル名の直前に引用符を付ける必要がないうえ、1つの式で複数の変数にそれぞれ異なる値を設定できるという特徴のため、setqを利用する機会のほうが多いのだ。

    前回紹介したパスの設定を例にすると、変数「exec-path」に「/usr/local/bin」と「/usr/X11R6/bin」を追加するには、以下の要領で記述することになる。なお、ここでは既存の変数(リスト)へ複数の値を追加するためにappend関数を使用しているが、追加する値が1つならば前回と同じcons関数を使用すればOK。念のため、変数を定義するためのコマンド「C-h v」を実行し、exec-pathにパスが追加されたことを確認してみよう。

    (setq exec-path (append '( "/usr/local/bin" "/usr/X11R6/bin") exec-path))

    ※:/usr/local/binなど追加のパスを優先的に検索させる必要があるため、実際にはexec-path変数の先頭に「挿入」している

    フォントの設定

    それでは、本題の「~/.emacs.el」の書き方に戻ろう。前回は色の設定まで進めたので、今回はフォントの設定方法について説明したい。

    フォントを設定するときには、まずどのようなフォントを設定できるのかを把握するところから始める。以下の式をCarbon Emacsのバッファへ入力し、行末までカーソルを移動させてから評価してほしい。評価の方法は、前述したとおり「C-x C-e」だ。なお、利用するマシンの性能とインストールされたフォントの数によっては、相応の時間がかかるので念のため。

    (insert (prin1-to-string (x-list-fonts "*")))

    これで表示されたリストが、Carbon Emacsで利用できるフォントだ。前々回も説明したとおり、間もなくCVSリポジトリに統合見込みのパッチが適用されていれば、「"-apple-ヒラギノ角ゴ pro w6-medium (以下略)"」などという形式でフォント名が表示されるはず。パッチを当てていなくても、Osakaフォントであれば正しく表示されるので、それをもとにフォントセットを作成してみよう。

    以下に示すリストは、16ポイントのOsaka等幅と14ポイントのmonacoを組み合わせたフォントセット「fontset-osaka16」だ。とりあえずこのまま自分の「~/.emacs.el」へコピーし、Carbon Emacsを再起動してからチュートリアルを表示(C-h t)すれば、16ポイントのOsakaを使った日本語の文書が表示されたはずだ。

    24 ;;Osaka
    25 (if window-system (progn
    26 (create-fontset-from-fontset-spec
    27 (concat
    28 "-*-fixed-medium-r-normal-*-14-*-*-*-*-*-fontset-osaka16,"
    29 "japanese-jisx0208:-apple-osaka-medium-r-normal--16-160-75-75-m-160-jisx0208.1983-sjis,"
    30 "ascii:-apple-monaco-medium-r-normal-*-14-*-*-*-*-*-mac-roman"))
    31 (set-default-font "fontset-osaka16")
    32 (setq default-frame-alist (append '((font . "fontset-osaka16"))))
    33 ))

    次回もDiredモードなど便利に使える機能を中心に、引き続き「~/.emacs.el」の設定方法について説明する予定だ。

    新着記事

    特設サイトの情報

      人気記事

      一覧

        イチオシ記事

        新着記事

        特別企画

        マイナビニュースマガジン