source: projects/vskel/branches/vskel-20110223/.xemacs.el @ 1126

Revision 1126, 17.8 KB checked in by daisuke, 12 years ago (diff)

import vskel-4.1.0 from internal cvs repository

Line 
1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2;;  XEmacs 用 ユーザ設定ファイルのサンプル
3;;            MATSUBAYASHI 'Shaolin' Kohji (shaolin@vinelinux.org)
4;;                      modified by Jun Nishii (jun@vinelinux.org)
5;;                       Time-stamp: <2002/12/05 02:08:32 irokawa>
6
7
8;;; 初期設定ファイルの指定
9;;; ここで指定したファイルにオプション設定等が書き込まれます
10
11(setq user-init-file "~/.xemacs.el")
12(setq custom-file "~/.xemacs.el")
13
14
15;;; 漢字コードの指定
16
17(set-default-coding-systems 'euc-jp)
18(set-buffer-file-coding-system 'euc-jp-unix)
19
20(if (eq (console-type) 'tty)
21      (set-terminal-coding-system 'euc-jp))
22
23;;;画面の色(カーソル:暗い赤色)、サイズ(横:80桁、縦:40行)
24
25(setq default-frame-alist (append (list '(cursor-color . "purple")
26                                        '(width .  80)
27                                        '(height . 40))
28                                  default-frame-alist))
29
30;;; 一行が 80 字以上になった時には自動改行する
31(setq fill-column 80)
32(setq text-mode-hook 'turn-on-auto-fill)
33(setq default-major-mode 'text-mode)
34
35;;; 行数表示
36
37(custom-set-variables '(line-number-mode t))
38
39;;; gnuclient サーバを起動
40(load "gnuserv")
41(gnuserv-start)
42
43;;; gzファイルも編集できるように
44(auto-compression-mode t)
45
46;; 環境変数 EMACS_IME を調べる。- 現在のところ、canna または Canna なら、
47;; 「かんな」を使用する。それ以外の場合は Wnn を使用する。
48
49(setq emacs-ime (getenv "EMACS_IME"))
50(if (null emacs-ime)
51    (setq emacs-ime "wnn"))
52
53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
54;; Egg (Wnn フロントエンド) の設定
55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
56
57;; Wnn6/FreeWnn
58(if (or (equal emacs-ime "wnn")
59        (equal emacs-ime "Wnn")
60        (equal emacs-ime "wnn6")
61        (equal emacs-ime "Wnn6"))
62  (progn
63    (load "egg")
64    (global-set-key "\C-\\" 'toggle-input-method)
65
66    (select-input-method "japanese-egg-wnn")
67    (set-language-info "Japanese" 'input-method "japanese-egg-wnn")
68
69    (setq egg-default-startup-file "eggrc-wnn") ; 95.6.1 by S.Tomura
70    (garbage-collect)
71
72    ;; jserver のリストを次の様にして指定できます
73    ;;(setq jserver-list '("vanilla" "espresso"))
74    (setq jserver-list (list (getenv "JSERVER") "localhost"))
75
76    ;; "nn" で「ん」を入力
77    (setq enable-double-n-syntax t)
78
79    ;; "." で「.」、"," で「,」を入力。
80    (setq use-kuten-for-period nil)
81    (setq use-touten-for-comma nil)
82
83    ;; 1234567890%#%"' を「半角」で入力"
84    (let ((its:*defrule-verbose* nil))
85    (its-define-mode "roma-kana")
86    (dolist (symbol '("1" "2" "3" "4" "5"
87                  "6" "7" "8" "9" "0"
88                  "#" "%" "\"" "'" ))
89        (its-defrule symbol symbol)))
90
91    ;; おまけ :-)
92    ;;(set-egg-fence-mode-format "♪" "♪" 'highlight)
93    )
94)
95
96
97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
98;; Wnn7Egg (Wnn7 フロントエンド) の設定
99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
100
101(if (or (equal emacs-ime "wnn7")
102        (equal emacs-ime "Wnn7"))
103    (progn
104      (setq load-path (append '("/usr/share/wnn7/elisp/xemacs21") load-path))
105      (global-set-key "\C-\\" 'toggle-input-method)
106      ;; (global-set-key "\C-o" 'toggle-input-method)
107      (load "wnn7egg-leim")
108      (select-input-method "japanese-egg-wnn7")
109      (set-language-info "Japanese" 'input-method "japanese-egg-wnn7")
110
111      ;; "nn" で「ん」を入力
112      (setq enable-double-n-syntax t)
113      ;; 候補選択モード
114      (egg-use-input-predict)
115      (setq egg-predict-realtime nil)
116      ;; インライン候補選択モード
117      (setq egg-predict-mode "inline")
118      ;; ウインドウ候補選択モード
119      ;(setq egg-predict-mode "window")
120
121      ;; 候補リスト表示
122      (define-key wnn7-henkan-mode-map " " 'wnn7-henkan-select-kouho-dai)
123
124      ;; 1234567890%#%"'/\| を「半角」で入力
125      (let ((its:*defrule-verbose* nil))
126        (its-define-mode "roma-kana")
127        (dolist (symbol '("1" "2" "3" "4" "5"
128                          "6" "7" "8" "9" "0"
129                          "#" "%" "\"" "'" "/" "\\" "|"))
130                (its-defrule symbol symbol)))
131    )
132)
133
134;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
135;; かんなの設定
136;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
137
138(if (or (equal emacs-ime "canna")
139        (equal emacs-ime "Canna")
140        )
141   (progn
142      (load-library "canna")
143
144      ;; color-mate を使わないで、漢字変換に色を付けたい時に
145      (setq canna-use-color t)
146
147      ;; フェンスモードでなくアンダーラインを使う
148      ;;(setq canna-with-fences nil)
149      ;;(setq canna-underline t)
150
151      ;; Canna サーバの指定
152      (if (null (getenv "CANNASERVER"))
153          (setq canna-server "localhost")
154        (setq canna-server (getenv "CANNASERVER")))
155      (canna)
156
157      (global-set-key "\C-_" 'canna-undo)  ;アンドゥの設定。
158      (setq canna-save-undo-text-predicate ;アンドゥバッファへ入れる条件
159            '(lambda (s) (> (length (car s)) 2)) )
160      (setq canna-undo-hook ;アンドゥ+α。
161            '(lambda () (message "再変換します....")                         
162               (canna-do-function canna-func-henkan)) )
163
164      ;;かんなの変換中に BS & DEL を使う
165      ;;(define-key canna-mode-map [backspace] [?\C-h])
166      ;;(define-key canna-mode-map [delete] [?\C-h])
167
168      ;;かんなの変換中に C-h を使う (with term/keyswap)
169      (define-key canna-mode-map [?\177] [?\C-h])
170
171      (select-input-method 'japanese-canna)
172   )
173)
174
175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
176;; XEmacs のフォント/カラー設定
177;; (color-mate を使わない時に色をつける設定.)
178;; XEmacs には hilit19 がないので,色はつきませんが,
179;; 代りに font-lock を使って簡易ですが色をつけられます.
180;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
181
182(set-face-foreground 'default "black" nil '(x color))
183(set-face-background 'default "#eeeeff" nil '(x color))
184
185(require 'font-lock)
186(setq font-lock-verbose nil)
187(put 'yatex-mode 'font-lock-defaults 'tex-mode)
188(put 'yahtml-mode 'font-lock-defaults 'html-mode)
189
190;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
191;; WEMI (widget 表示する SEMI)
192;;   Vine 1.9 からは tm (Tiny Mime) の代わりに semi を使います
193;;   (Mew は tm や semi なしでも MIME に対応しています)
194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
195
196(require 'mime-setup)
197(load "path-util")
198(setq rmail-enable-mime t)
199
200;; rail-1.0.2 を使って User-Agent: フィールドのコードネームを日本語化する
201(setq rail-emulate-genjis t)
202(if (module-installed-p 'rail) (load "rail"))
203
204
205;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
206;; T-Gnus 6.13.3 (参考)
207;;   NetNews リーダー GNUS (SEMI 対応版)
208;;   M-x gnus で起動します
209;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
210
211;; News Server 名やドメイン名を適切に指定してください
212;(setq gnus-nntp-server "news.hoge.hoge.or.jp")
213;(setq gnus-local-domain "hoge.hoge.or.jp")
214;(setq gnus-local-organization "HogeHoGe Org.")
215;(setq gnus-use-generic-from t)
216
217
218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
219;; w3
220;;   XEmacs 上で動くブラウザです
221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;   
222
223;; w3 でプロキシの設定が必要な場合、
224;; ~/.w3/profile 内の設定を編集して下さい.
225;; 書式は以下の通りです.
226;(setq url-proxy-services '(
227;      ("http" . "http://proxy.nowhere.ne.jp:8080/")
228;      ("ftp" . "http://proxy.nowhere.ne.jp:8080/")
229;      ("gopher" . "http://proxy.nowhere.ne.jp:8080/")
230;      ("no_proxy" . "://[^/]*nowhere.ne.jp/\\|://192.168"))
231;    url-using-proxy t)
232
233
234;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
235;; Mew -  Messaging in the Emacs World
236;;   メールリーダー Mew
237;;   M-x mew で起動します
238;;   これ以外の設定は ~/.mew.el で行います
239;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
240
241(autoload 'mew "mew" nil t)
242(autoload 'mew-send "mew" nil t)
243
244;; Toolbarに追加
245;(setq toolbar-mail-commands-alist (quote ((mew . mew) )))
246;(setq toolbar-mail-reader (quote mew))
247
248;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
249;; Wanderlust
250;;   IMAP にも対応したメール/ニュースリーダ
251;;   これ以外の設定は ~/.wl で行います
252;;   ~/.wl のサンプルは /usr/doc/Wanderlust-2.2.12 以下にあります
253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
254
255(autoload 'wl "wl" "Wanderlust" t)
256(autoload 'wl-draft "wl" "Write draft with Wanderlust." t)
257
258;; Toolbarに追加
259;(setq toolbar-mail-commands-alist (quote ((wl . wl) )))
260;(setq toolbar-mail-reader (quote wl))
261
262;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
263;; X-Face
264;;   Mew や Wanderlust などで、X-Face 画像つきのメッセージを表示します
265;;;  /usr/doc/x-face-xemacs-1.3.6.20.README.ja
266;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
267
268(when (and window-system (module-installed-p 'x-face))
269   (autoload 'x-face-xmas-mew-display-x-face "x-face" nil t)
270   (setq wl-highlight-x-face-function
271      'x-face-xmas-mew-display-x-face)
272   (setq x-face-add-x-face-version-header t))
273
274;; 起動画面を表示しない
275;(setq x-face-inhibit-loadup-splash t)
276
277;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
278;; irchat-pj-2.4.24.07
279;;   IRC (チャット) クライアントの設定
280;;   M-x irchat で起動します
281;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
282
283(autoload 'irchat "irchat" nil t)
284
285;;; IRC server の指定
286;;; (いずれか一つをコメントアウトします)
287;;(setq irchat-server "irc.tohoku.ac.jp")
288;;(setq irchat-server "irc.kyutech.ac.jp")
289;;(setq irchat-server "irc.tokyo.wide.ad.jp")
290;;(setq irchat-server "irc.kyoto.wide.ad.jp")
291;;(setq irchat-server "irc.huie.hokudai.ac.jp")
292;;(setq irchat-server "irc.cc.yamaguchi-u.ac.jp")
293;;(setq irchat-server "irc.karrn.ad.jp")
294;;(setq irchat-server "irc.kyoto.wide.ad.jp")
295
296;;; ユーザー名とニックネーム
297;;; (nick は半角英数および []{}_\^ からなる最大 9 文字の文字列です)
298(setq irchat-name "IRC sample user")
299(setq irchat-nickname "PJEtest")
300
301;;; デフォルトで参加するチャンネルのリスト
302;;;  (ここに書いたチャンネルには irchat の起動と同時に参加できます)
303;;(setq irchat-startup-channel-list '("#linuxjp,#pjetest"))
304(setq irchat-startup-channel-list '("#VineUsers"))
305
306;;; オプション
307;;;   詳細は /usr/doc/irchat-pj-xemacs-2.4.24.07/doc 以下のファイルを参照
308(setq irchat-reconnect-automagic t)      ; 切れた場合に再接続を試みる
309;;(setq irchat-channel-buffer-mode t)    ; チャネル分割表示モード
310;;(setq irchat-display-channel-always t)
311;;(setq irchat-default-freeze-local nil)
312
313
314;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
315;; YaTeX 1.67
316;;   [La]TeX 入力モード
317;;   M-x yatex とするか、.tex で終わるファイルを読み込むと起動します
318;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
319
320(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)
321
322;; YaTeX-mode
323(setq auto-mode-alist
324      (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))
325(setq dvi2-command "xdvi"
326      tex-command "platex -src-specials"
327      dviprint-command-format "dvips %s | lpr"
328      YaTeX-kanji-code 3)
329
330;; YaHtml-mode
331(setq auto-mode-alist
332      (cons (cons "\\.html$" 'yahtml-mode) auto-mode-alist))
333(autoload 'yahtml-mode "yahtml" "Yet Another HTML mode" t)
334(setq yahtml-www-browser "firefox")
335
336
337;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
338;; ホイールマウス対応
339;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
340
341;(autoload 'mwheel-install "mwheel" "Enable mouse wheel support.")
342;(mwheel-install)
343;; スクロール量の設定 (ノーマル . Shift-スクロール)
344;;(setq mwheel-scroll-amount '(5 . 1))
345
346;;=============================================================================
347;;                    scroll on  mouse wheel
348;;=============================================================================
349;; scroll on wheel of mouses
350(define-key global-map 'button4
351  '(lambda (&rest args)
352    (interactive)
353    (let ((curwin (selected-window)))
354      (select-window (car (mouse-pixel-position)))
355      (scroll-down 5)
356      (select-window curwin)
357)))
358(define-key global-map [(shift button4)]
359  '(lambda (&rest args)
360    (interactive)
361    (let ((curwin (selected-window)))
362      (select-window (car (mouse-pixel-position)))
363      (scroll-down 1)
364      (select-window curwin)
365)))
366(define-key global-map [(control button4)]
367  '(lambda (&rest args)
368    (interactive)
369    (let ((curwin (selected-window)))
370      (select-window (car (mouse-pixel-position)))
371      (scroll-down)
372      (select-window curwin)
373)))
374(define-key global-map 'button5
375  '(lambda (&rest args)
376    (interactive)
377    (let ((curwin (selected-window)))
378      (select-window (car (mouse-pixel-position)))
379      (scroll-up 5)
380      (select-window curwin)
381)))
382(define-key global-map [(shift button5)]
383  '(lambda (&rest args)
384    (interactive)
385    (let ((curwin (selected-window)))
386      (select-window (car (mouse-pixel-position)))
387      (scroll-up 1)
388      (select-window curwin)
389)))
390(define-key global-map [(control button5)]
391  '(lambda (&rest args)
392    (interactive)
393    (let ((curwin (selected-window)))
394      (select-window (car (mouse-pixel-position)))
395      (scroll-up)
396      (select-window curwin)
397)))
398
399
400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
401;; その他の設定
402;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
403
404;;; マクロサーチパスの追加
405;;; ~/lib/emacs 以下にユーザ用の *.el, *.elc を置くことができます
406;;(setq load-path (append '("~/lib/emacs") load-path))
407
408
409;;; ステータスラインに時間を表示する
410(display-time)
411
412
413;;; rpm-mode の読み込み
414;;; rpm-mode.el は spec ファイルの作成に便利です。
415;;;   ~/lib/emacs に /usr/doc/rpm/rpm-mode.el をコピーして以下の設定を
416;;; 行ってください。
417
418;(setq auto-mode-alist (nconc '(("\\.spec" . rpm-mode)) auto-mode-alist))
419;(autoload 'rpm-mode "rpm-mode" "Major mode for editing SPEC file of RPM." t)
420;(setq packager "Vine User <vine@hoge.fuga>");自分の名前
421;      (setq buildrootroot "/tmp");BuildRootの場所
422;      (setq projectoname "Project Vine");プロジェクト名
423
424
425;;; 最終更新日の自動挿入
426;;;   ファイルの先頭から 8 行以内に Time-stamp: <> または
427;;;   Time-stamp: " " と書いてあれば、セーブ時に自動的に日付が挿入されます
428(if (not (memq 'time-stamp write-file-hooks))
429    (setq write-file-hooks
430          (cons 'time-stamp write-file-hooks)))
431
432
433;;;バッファの最後でnewlineで新規行を追加するのを禁止する
434(setq next-line-add-newlines nil)
435
436;;;印刷設定
437(setq-default lpr-switches '("-2P"))
438(setq-default lpr-command "mpage")
439
440;;; キーバインド定義
441(global-set-key [backspace] 'delete-backward-char) ; BS
442(global-set-key [delete] 'delete-char)             ; DEL
443(global-set-key "\C-h" 'delete-backward-char)      ; C-h(=DEL)
444(global-set-key "\M-?" 'help-for-help)             ; M-?(=help)
445(global-set-key [home] 'beginning-of-buffer)       ; HOME(バッファの先頭に飛ぶ)
446(global-set-key [end] 'end-of-buffer)              ; END(バッファの最後に飛ぶ)
447
448;;; スクロールを1行単位にする
449(setq scroll-step 1)
450
451;;; *.~ とかのバックアップファイルを作らない
452;(setq make-backup-files nil)
453
454;;; .#* とかのバックアップファイルを作らない
455;(setq auto-save-default nil)
456
457;;; 以前編集したファイルのカーソル位置を覚える設定
458(require 'saveplace)
459(setq-default save-place t)
460
461;; scratch モードの最初のメッセージは消す
462(setq initial-scratch-message nil)
463
464;;; C-t、M-C-tでバッファの高速切り替え
465(defun previous-buffer ()
466  "Select previous window."
467  (interactive)
468  (bury-buffer))
469(defun backward-buffer ()
470  "Select backward window."
471  (interactive)
472  (switch-to-buffer
473   (car (reverse (buffer-list)))))
474(global-set-key "\C-t"    'previous-buffer)
475(global-set-key "\M-\C-t" 'backward-buffer)
476
477
478;; Info では frame-title に詳しい情報を
479(add-hook 'Info-startup-hook
480          #'(lambda ()
481              (make-local-variable 'frame-title-format)
482              (setq frame-title-format
483                    (concat "*info*  ("
484                            (file-name-nondirectory
485                             (if (stringp Info-current-file)
486                                 Info-current-file
487                               (or buffer-file-name "")))
488                            ")  "
489                            Info-current-node))))
490(add-hook 'Info-select-hook
491          #'(lambda ()
492              (setq frame-title-format
493                    (concat "*info*  ("
494                            (file-name-nondirectory
495                             (if (stringp Info-current-file)
496                                 Info-current-file
497                               (or buffer-file-name "")))
498                            ")  "
499                            Info-current-node))))
500
501;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
502;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
503;; このファイルに間違いがあった場合に全てを無効にします
504(put 'eval-expression 'disabled nil)
Note: See TracBrowser for help on using the repository browser.