2010/08/20

GUI版Emacs用の設定まとめ

もはや、わざわざ「GUIなEmacs」とかいうと変な目でみられそうです。

今回使った(if window-system ...というコードも、なぜ必要なのか説明しても分かってもらえないかもしれないですね。

さてLispなどの関数系言語では、BASIC同様に関数をいくら覚えられるかが勝負のようなところがあって、 いろいろメモを残しておかないと二度手間な作業が多く発生します。

ということで、Emacsのカスタマイズしたことをメモにしておきます。

ウィンドウサイズの変更方法

普通はウィンドウの位置やX Window System (X11)の環境では geometry オプションでサイズ(<width>x<height>+<x>+<y>)を指定します。

$ emacs -geometry 110x50-110+0

他にもxrdbを使ってX11のResource Managerの仕組みを使う事もできますが、システムの/etc/X11/Xsession辺りの設定によって読み込まれるファイルが変化したりするので、あまりお勧めできなさそうです。

ただ設定されているリソース自体は確認しておいた方が良いかもしれません。

$ xrdb -all -query

さて、 geometry を使うのは、いろいろなスクリプトからemacsを起動するようにしているので変更箇所が多くなってしまいそうです。 そこで~/.emacsで好みの画面サイズを指定しようと思いました。

結論からいえば、フォントの設定を含めて次のようなコードを~/.emacsに追加しました。

~/.emacsファイルから抜粋


;; GUI mode setting
(if window-system
  (progn
    ;; set font size
    (set-default-font "7x14")
    
    ;; set window size
    (setq initial-frame-alist
      (append initial-frame-alist
        (list
          '(left . -120)
          '(width . 110)
          '(height . 50)
         )))
      
    ;; end of progn
   )
  ;; for non-x11 environment
  (setq initial-frame-alist
    (list
      '(menu-bar-lines . 0)
      '(tool-bar-lines . 0)
    )))

最後の部分はif文のelse節に相当する部分で、キャラクタ端末上でemacsを動かした時に最上部に1行表示されるメニューを消しています。

手元の~/.emacsでは(load-file "~/.emacs-skk")のようなモード別に設定ファイルを分けてロードしているので、画面設定も別ファイルにしようかと思ったのですが、いまのところ~/.emacsに含めています。

大学の頃はmuleとemacs19を使い分けるために、設定ファイルは別々で、大学がデフォルトで配布していた~/.emacsファイルはシンプルなものでした。

環境によっては~/.emacsが適当な設定ファイルでない環境も、まだあるんでしょうね。

0 件のコメント: