Thursday, November 30, 2006

「民主党」に対する長年の疑問の答え

>>仕事してますってポーズ見せるには与党に噛み付くのが一番簡単だろうし
>どうせ出来ないんだから出来もしないことぶちあげられるしね
だから与党が自分たちの案を丸呑みしたら反対するとかいう
間抜けなマネを平気でできるというわけだ



とある掲示板で見かけた言葉。

至言だと思った。

Wednesday, November 29, 2006

xyzzy設定

定量的には調べていないけれど、色々やってみた結果、KaTeXについては、ロードパス設定とelispパッケージ有効だけを.xyzzyに書き、それ以外の設定はsiteinit.lに書くのが一番xyzzyの動作が軽くなるような様子。xyzzyをインストールしただけだとKaTeX関連のファイルはバイトコンパイルされていないので、xyzzywikiのKaTeXインストール項を見てバイトコンパイルすることを忘れずに。

それと、netinstallerについても、僕の環境ではなぜか.xyzzyに書いた方がもたつきが少ないように感じられた。


.xyzzy

;;;;;;;;;;KaTeX;;;;;;;;;;;;;
;;; ロードパスに KaTeX のあるディレクトリを追加
(pushnew (merge-pathnames "site-lisp/katex" (si:system-root)) *load-path* :test #'equal)
;;; elispパッケージを有効にする
(require "elisp")

;;;;;Net Installer 設定 ;;;;;
(require "ni/setup")
;; 自動設定を利用する
(ni-autoload)



;; find-file するときに最初に表示されるディレクトリをセットする。
; いつもここから
(set-default-directory "c:/txt")








siteinit.l

;IMEの状態をモードラインに表示
(setq-default mode-line-format "[%i] --%*- %b (%M) [%k:%l] %P %f")
;インクリメンタルサーチ
(require "isearch")
;IMEをCtrl-oで
(global-set-key #\C-o 'toggle-ime)

;;;;;ファイラー;;;;
(setq *filer-use-recycle-bin* t)


;;;;;括弧の対応をとる;;;;
(require "paren")
(turn-on-global-paren)

;;;;; 文字数カウント
(defun count-char-from-point ()
(interactive) (save-excursion
(let ((p1 (point)) (p2 (point-max)))
(setq parcnt
(- (progn (goto-char p2) (current-line-number))
(progn (goto-char p1) (current-line-number))))
(message "~d paragraphs, ~d characters."
parcnt (- p2 p1 parcnt)))))
(global-set-key '(#\C-c #\c) 'count-char-from-point)


;; C-x C-wでemacs風の処理をさせるには
(defun emacs-write-file (filename)
(interactive "FWrite file: " :title0 "Write File")
(and (rename filename)
(save-buffer)))
(define-key ctl-x-map #\C-w 'emacs-write-file)


;;;; すべてのモードでTABキーを押したらTAB入力 ;;;;;
(let ((keymap (make-sparse-keymap)))
(define-key keymap #\TAB 'self-insert-command)
(add-hook '*create-buffer-hook*
#'(lambda (buffer)
(set-minor-mode-map keymap buffer))))



;;;;; howm 設定
(pushnew (merge-pathnames "site-lisp/howm/" (si:system-root))
*load-path* :test #'string-equal)
(require "howm-wrap")
;; `howm-init.l' をコピーしてない場合、以下を有効に。
;; 日本語メニューを使う。
;(setq elisp-lib::howm-menu-lang 'elisp-lib::ja)


;;;;;C-c bでカレントバッファをバイトコンパイルし、ダンプファイルを削除;;;
(defun compile-and-delete-dump-file ()
(interactive)
(and (find-buffer "siteinit.l")
(eval-buffer "siteinit.l"))
(byte-compile-file
(concat (si:system-root) "site-lisp/siteinit.l"))
(let ((dumpfile
(concat (si:system-root) "xyzzy."
(case (os-platform)
(whistler "wxp")
(windows-2000 "w2k")
(windows-nt "wnt")
(windows-me "wme")
(windows-98 "w98")
(windows-95 "w95")
(win32s "32s")
(t "nt")))))
(and (file-exist-p dumpfile)
(delete-file dumpfile))))
(global-set-key '(#\C-c #\b) 'compile-and-delete-dump-file)


(setq *eshell* "bash -i")

(load-library "awk-mode")
(push '("\\.awk$" . awk-mode) *auto-mode-alist*)

(load-library "printer")

;;;;; aspell ;;;;;;;;;
(import '(ed::aspell ed::*aspell-command*))
(autoload 'aspell "aspell" t)
(global-set-key #\M-a 'aspell)
(setq *aspell-command* "C:\\Program Files\\aspell\\bin\\aspell.exe -a")


(load-library "chcolor/chcolor")
(load-library "drill")

;;shell3.l (shell拡張)
(require "shell3")



;;;;KaTeX;;;
;;; 拡張子と関数の関連付け
(pushnew '("\\.tex$" . elisp::katex-mode) *auto-mode-alist* :test #'equal)
;;; オートロード
(autoload 'elisp::katex-mode "katex" t)

;;; ショートカット
(defun user::katex-mode ()
(interactive)
(elisp::katex-mode))
;;; 自動改行なし
(add-hook 'elisp::katex-mode-hook
#'(lambda ()
(auto-fill-mode nil)))
(setq elisp::tex-command "platex")
(setq elisp::dvi2-command "c:/dviout/dviout")
(setq elisp::KaTeX-default-pop-window-height 4)
(setq elisp::KaTeX-fill-column 80)
(set-extended-key-translate-table exkey-M-return #\M-RET)
(setq elisp::*KaTeX-math-formats*
(compile-regexp-keyword-list
'(("\\$[^$]*\\$" t (:keyword 2) nil)))) ; 正規表現での色付け
(setq elisp::KaTeX-template-file "C:/bin/xyzzy/site-lisp/katex/template.tex")