blogSetomits

Hello

Dropbox で CarbonEmacs / Meadow / Emacs on Ubuntu で設定を共通化

これまでいまいちピンと来なくて手をつけていなかったのですが、ようやくDropboxを使ってみようと思いました。 Dropbox とは、自分のディスク領域をインターネット越しで同期できるサービスです。

使おうと思った決め手はDropBoxを使ってEmacsの設定を共有できるようにしてみた - 牌語備忘録を読んだことでした。僕はエディタとして Emacs を使っているのですが、家では Mac OS X 上で CarbonEmacs を、会社の Windows 上では Meadow を、会社でコードを書くのには VM 上の Ubuntu で Emacs を使っています。大した設定はしていないものの、それぞれの設定が微妙に違ったり、ふと新しい環境を作ったりするときにはいつも面倒なことになるので、ここで Dropbox を使ってみようと思ったのでした。



ということで、僕の設定は以下のようになっています。

まずはDropboxからそれぞれのプラットフォーム用のインストーラをダウンロードしてインストールします。おそらくどのプラットフォームでも、ユーザ権限でインストールできるんじゃないかと思います。 Dropbox で同期をするディレクトリを自分で指定することもできますが、ここではデフォルトのままにしています。



次に、 Dropbox のディレクトリに emacs というディレクトリを作り、ここに common.el というファイルを作り、内容は下記のようにしました。


(cond
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; for Meadow on Windows
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
((featurep 'meadow)
;; Language
(set-language-environment "Japanese")
(set-buffer-file-coding-system 'utf-8-unix)

(set-terminal-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)

;; Tramp
(setq exec-path
(cons
(expand-file-name "~/Applications/putty-0.60-jp20070603/")
exec-path))
(setq-default tramp-default-method "plink")
(setq-default tramp-completion-without-shell-p t)
(setq-default tramp-shell-prompt-pattern "^[ $]+")
(setq-default tramp-debug-buffer t)
(modify-coding-system-alist 'process "plink" 'utf-8-unix)

;; Alpha
(set-frame-parameter nil 'alpha '(90 70))

;; Toolbar
(tool-bar-mode nil))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; for CarbonEmacs on Mac OS X
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
((featurep 'carbon-emacs-package)
;; Alpha
(set-frame-parameter nil 'alpha '(90 70))

;; Toolbar
(tool-bar-mode -1))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; for Emacs on Ubuntu Linux
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(t
;; Language
(set-language-environment "Japanese")
(set-buffer-file-coding-system 'utf-8-unix)

(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)
(prefer-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(setq file-name-coding-system 'utf-8)

;; Anthy
(load-library "anthy")
(setq default-input-method "japanese-anthy")

;; Fonts
(cond (window-system
(set-default-font "-*-fixed-medium-r-normal--14-*-*-*-*-*-*-*")
(progn
(set-face-font
'default
"-shinonome-gothic-medium-r-normal--14-*-*-*-*-*-*-*")
(set-face-font
'bold
"-shinonome-gothic-bold-r-normal--14-*-*-*-*-*-*-*")
(set-face-font
'italic
"-shinonome-gothic-medium-i-normal--14-*-*-*-*-*-*-*")
(set-face-font
'bold-italic
"-shinonome-gothic-bold-i-normal--14-*-*-*-*-*-*-*")
)))

;; Scrollbar
(set-scroll-bar-mode 'right)
;; turn off beep sound
(setq visible-bell t)
;; File name completeion
(setq read-file-name-completion-ignore-case t)
;; Toolbar
(tool-bar-mode nil)))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Common
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; Color
(if window-system
(progn
(set-background-color "RoyalBlue4")
(set-foreground-color "LightGray")
(set-cursor-color "Gray")
))
(setq transient-mark-mode t)

;; parentheses
(show-paren-mode t)

;; column number
(column-number-mode t)

;; not to make backup files
(setq make-backup-files nil)

;; set default directory to HOME
(cd "~/")

;; set C-h as Backspace
(global-set-key "\C-h" 'backward-delete-char-untabify)

僕自身、 Emacs Lisp がわかるわけではないので詳細は省きますが、プラットフォームごとに依存するような設定を最初に書いて、後で共通の設定を書いています。いとうさんにはちょこちょこと技術流出指導をいただき、ありがとうございました。



最後に、各環境のホームディレクトリ上に .emacs.el を置き、それぞれ以下のように先ほどの common.el を読み込むようにしています。

- CarbonEmacs on Mac OS X : ~/.emacs.el

(load "~/Dropbox/emacs/common.el")



- Meadow on Windows XP : ~/.emacs.el

(load "~/My Documents/My Dropbox/emacs/common.el")



- Emacs on Ubuntu Linux 8.04 : ~/.emacs.el

(load "~/Dropbox/emacs/common.el")



無料のアカウントだと使える容量が 2GB だけなので僕はちょっと無理なのですが、 iTunes のデータ用のディレクトリにするというのも手かもしれませんね。
Posted at 11:12 by setomits Comments : 0