Emacs23へ完全移行

長らくBlog記事を書いてなかったが、前の記事は春先に書いた物で気がつけばもうすぐ紅葉。今年はいろんなことに翻弄された結果、コンスタントに記事を書くと言う状況がなかなか作れなかった。(やる気がいろいろ抜けたとも言うが・・・) 小難しいことを考えても仕方ないので、少しずつ記事を書いていこうと思う。

大学時代からUnix文化に接して暮らしてきたせいか、基本的にGNU Emacsをメインのメールやプログラムを書く環境に用いている。そのためWindowsでもWindows版 GNU Emacsの1つであるMeadowを使ってきた。Meadow自体は日本語の特殊環境を踏まえていることもあって、Windowsの上では非常に使いやすいのだが、GNU Emacs 21.4から派生したMeadow 2.10から長らくメジャーバージョンアップもされず、他の環境で用いているバージョンとの乖離が大きくなってしまって、だんだんと疎遠になってしまった。最近Windowsでもちょっとしたプログラム書きとしてのRubyのスクリプトを書くにも、関数型言語のお勉強としてSchemeの実装の一つGaucheHaskell Plathomeが使いやすくなってきたので、急にEmacsの需要が出てきたというわけである。

ずいぶん前からWindowsNT版のEmacsもあったのだが、WindowsのIMEからの日本語入力できないなどの問題があったが、IMEパッチなるものがEmacs 22あたりから使われるようになってきた(NTEmacsJP Projectにて配布されている)ので、この際Emacs 23に移行して良かろうと言うことで見直すこととなった。Emacs22はIMEパッチ適用済みバイナリがIMEパッチ配布サイトに置いてあるのだが、Emacs23に当てた物がなかなか見当たらない。いったんWurlyさんのページから、バイナリをダウンロードしてみた。折を見てビルドできる環境を作っていこう・・・ 設定のポイントとなるのは日本語入力と表示になると思う。ちょっとWebをさまよってWindows版 Emacsの話題が掲載されていたYu-ji Hosokawaさんのblogになかなか良い感じのFont設定が載っていたので、いったん最小限度の設定を行ってみた。各種設定は追々していく。ということで、現状の.emacs。マルチプラットホームで使うことはまだ考えていない。続くかどうかも不明・・・

;;;
;; Global Setting
;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; 日本語設定
;;;

;; 文字コード
(set-language-environment "Japanese")
(prefer-coding-system 'utf-8-unix)
(set-default-coding-systems 'utf-8-unix)
(setq file-name-coding-system 'sjis)
(setq locale-coding-system 'utf-8)
;(set-keyboard-coding-system 'japanese-shift-jis)

;; Input Method
(setq default-input-method "W32-IME")
(w32-ime-initialize)

;; バックアップを残さない
(setq make-backup-files nil)
;; ビープ音,画面フラッシュなし
(setq ring-bell-function 'ignore)
;; ファイル末の改行がなければ追加
(setq require-final-newline t)

;;; 表示関係
;; スタートアップ非表示
(setq inhibit-startup-screen t)
;; メニューバー,ツールバーの非表示
;(menu-bar-mode nil)
;; ツールバー非表示
(tool-bar-mode 0)
;; スクロールバーを右側に表示
(set-scroll-bar-mode 'right)
;; ファイルのフルパスをタイトルバーに表示
(setq frame-title-format
      (format "%%f - Emacs@%s" (system-name)))
;; 行番号表示
(global-linum-mode)
;; 列番号表示
(column-number-mode t)
;; 時計表示
;; 日時・時刻のフォーマット指定 (yyyy/mm/dd(day) hh:mm)
(setq display-time-string-forms
      '((format "%s/%s/%s(%s) %s:%s"
        year month day dayname
        24-hours minutes
        )))
(display-time)

;; 最近使ったファイルをメニューに表示
(recentf-mode 1)
(setq recentf-max-menu-items 10)
(setq recentf-max-saved-items 10)

;;; load-path関係

;; load-pathの追加関数
(defun add-to-load-path (&rest paths)
  (let (path)
    (dolist (path paths paths)
      (let ((default-directory (expand-file-name (concat user-emacs-directory path))))
        (add-to-list 'load-path default-directory)
        (if (fboundp 'normal-top-level-add-subdirs-to-load-path)
            (normal-top-level-add-subdirs-to-load-path))))))

;; load-pathに追加するフォルダ
(add-to-load-path "elisp")

;;; 日本語フォント設定
;;; http://u.hoso.net/2011/01/standard-fontset.html
(defun my-setup-fontset ()
  "fontset-standard を使ったフォント設定"
  (interactive)
  ;; fontset-standard
  (dolist (target '(japanese-jisx0208
                    japanese-jisx0208-1978
                    japanese-jisx0212
                    japanese-jisx0213-1
                    japanese-jisx0213-2
                    japanese-jisx0213.2004-1
                    ;;katakana-jisx0201
                    ;;latin-jisx0201
                    ;;mule-unicode-0100-24ff
                    ;;mule-unicode-2500-33ff
                    ;;mule-unicode-e000-ffff
                    ))
    (set-fontset-font "fontset-standard" target "MS Gothic"))
  (dolist (target '(latin-iso8859-1
                    latin-iso8859-2
                    latin-iso8859-3
                    latin-iso8859-4
                    cyrillic-iso8859-5
                    greek-iso8859-7))
    (set-fontset-font "fontset-standard" target "Consolas"))
  (set-fontset-font "fontset-standard" 'ascii "Consolas 10")
  ;; modify fontset-default for fallback
  (set-fontset-font t nil "Arial Unicode MS")
  ;; Use the predefined fontset "fontset-standard"
  (set-face-font 'default "fontset-standard"))
(my-setup-fontset)
(add-to-list 'default-frame-alist '(font . "fontset-standard"))

;;; 括弧と選択領域
;; 括弧の範囲内を強調表示
(setq show-paren-delay 0)
(show-paren-mode t)
(setq show-paren-style 'expression)
;; 括弧の範囲色
(set-face-background 'show-paren-match-face "#A88")
;; 選択領域の色
(set-face-background 'region "#AAA")

;;; デフォルトのフレームサイズ,背景色の変更
(setq default-frame-alist
      (append
       '((set-background-color "LemonChiffon")
     (set-foreground-color "black")
     (top . 0)
     (left . 0)
     (width . 120)
     (height . 40))
       default-frame-alist))

;;;; C-hをバックスペース
(global-set-key "\C-h" 'backward-delete-char)

軽井沢ミーティング2018に参加

軽井沢ミーティング2018に初参加! 天気良くてよかった!さすがに5月末の週末は本当に天気が良い。Roadsterのイベントは前日入り出来る場合は可能な限り前日から参加している。主催者発表による今回の参加者は1975人、車はは1,002台。内訳は、NAは37%、NBは22%...… Continue reading

2017年も今日でおしまい

Published on December 31, 2017

Profoto A1の色温度の話

Published on December 21, 2017