朝顔日記

未整理の.xyzzy

2003-06-26

今日、.xyzzy と Siteinit.l を整理しようと一念発起してあれこれしていました。で、どうにかいい感じになってきたのでこれでいいかなというところで、誤って.xyzzy を削除してしまいました。ウワーン、というようなことをはてな日記のほうに書いていたら、そりゃバックアップを兼ねて日記にウプすべしとのことでしたので、未整理なままの状態の会社のマシンの.xyzzy をウプしてみます。つか、Siteinit.l とセットでないとあまり意味がないような気もするんですが。また整理できたらセットでウプしてみますです。つかはずかちいなぁ。:p)

ついでにどなたか添削してくれるとうれしい、とか言ってみたり。:p)


(load-library "info")
(require "ni/setup")

(defun kill-forward-line () 
(interactive) 
(let ((a (point)) 
(b (progn (goto-bol) (point)))) 
(delete-region a b))) 

(set-extended-key-translate-table exkey-C-backspace #\F24) 
(global-set-key #\F24 'kill-forward-line)

(setq *keyword-load-path* '("c:/Progra~1/xyzzy/keyword/")) 

(defun dt-dd () 
(interactive) 
(save-excursion 
(goto-char (point-min)) 
(replace-buffer "\\([^\n]\\)\t" "\\1\n\t" :regexp t) 
(goto-char (point-min)) 
(replace-buffer "\t\\([^\n]+\\)" "\t<dd>\\1</dd>" :regexp t) 
(goto-char (point-min)) 
(replace-buffer "^\\([^\t\n]+\\)$" "<dt>\\1</dt>" :regexp t))) 
(define-key ed::*html+-mode-map* '(#\C-c #\d) 'dt-dd) 

;; ジャンプディレクトリ
   (defvar *my-favorites-directory*
     '(("web" . "c:/web")
       ("desktop" . "c:/windows/デスクトップ")
       ("xyzzy" . "c:/progra~1/xyzzy")
       ("Profile" . "C:/WINDOWS/Application Data/Phoenix/Profiles/default/uk643b4i.slt/")
      )
   )
   (setq *filer-directories*
     (cons  (cons "xyzzy/site-lisp" (concat (si:system-root) "site-lisp"))
          *my-favorites-directory*))

;; 一発インデント 
(defun indent-current-buffer () 
(interactive) 
(indent-region (point-min) (point-max)) 
(message "indent buffer")) 
(global-set-key #\C-F8 'indent-current-buffer) 

;; ファイラーのマスク
(setq *filer-primary-file-mask* '("*"))
 (setq *filer-secondary-file-mask* '("*")) 

;; html+-mode でインデントは空白で
(add-hook 'ed::*html+-mode-hook* 
#'(lambda () (setq indent-tabs-mode *c-indent-tabs-mode*))) 

;; xml-mode
(require "xml/xml-mode")
(use-package 'xml)
(require "xml/xhtml")
(require "xml/xslt")
(pushnew '("\\.\\(xml\\|xsl\\|rdf\\|svg\\|fo\\|xi\\)" . xml-mode) *auto-mode-alist* :test 'equal)

;;; chcolor
(load-library "chcolor/chcolor")
(global-set-key #\M-e 'chcolor)


;; リージョンを反転表示
(load-library "rv-region")
;;;    あらかじめ用意されたコマンド(rv-set-mark-command)実行時のみ、反転
;;;    表示を開始する。以下の設定では、C-@ でマークを設定すると、リージョ
;;;    ンの反転表示を開始する。M-SPC では、反転表示しない。
        (global-set-key #\C-@ 'rv-set-mark-command)
;;;    ・反転されていないリージョンに対し反転を開始する。(M-R)
        (global-set-key #\M-R 'rv-region-start)
;;;    ・反転されていないリージョンを一時的に反転する。(M-V)
        (global-set-key #\M-V 'rv-region-check)

;;css-mode 時にC-iで補完
(add-hook 'ed::*css-mode-hook* 
#'(lambda () 
(define-key ed::*css-mode-map* #\c-i 'ed::css-completion))) 


;;; css-enhance 
; library 
(load-library "css-mode") 
; indent (お好みでどうぞ) 
(defvar *css-indent-level* 4) 
(defvar *css-continued-statement-offset* 4) 
(defvar *css-brace-offset* -4) 
(defvar *css-brace-imaginary-offset* 0) 
(defvar *css-argdecl-indent* 0) 
(defvar *css-label-offset* 0) 
; keymap (お好みでどうぞ) 
(define-key *css-mode-map* #\{ 'c-electric-insert) 
(define-key *css-mode-map* #\: 'c-electric-insert) 
(define-key *css-mode-map* #\} 'c-electric-close) 
(define-key *css-mode-map* #\C-h 'backward-delete-char-untabify-or-selection) 
(define-key *css-mode-map* #\TAB 'c-indent-line) 
(define-key *css-mode-map* #\C-M-q 'indent-sexp) 
(define-key *css-mode-map* #\RET 'c-newline-and-indent) 
; function for hook 
(defun css-enhance () 
;; inent command 
(make-local-variable 'mode-specific-indent-command) 
(make-local-variable 'c-comment-indent-variable) 
(setq c-comment-indent-variable 'c-comment-indent) 
(setq mode-specific-indent-command 'c-indent-line) 
; indent 
(make-local-variable 'c-indent-level) 
(make-local-variable 'c-continued-statement-offset) 
(make-local-variable 'c-brace-offset) 
(make-local-variable 'c-brace-imaginary-offset) 
(make-local-variable 'c-argdecl-indent) 
(make-local-variable 'c-label-offset) 
(setq c-indent-level *css-indent-level*) 
(setq c-continued-statement-offset *css-continued-statement-offset*) 
(setq c-brace-offset *css-brace-offset*) 
(setq c-brace-imaginary-offset *css-brace-imaginary-offset*) 
(setq c-argdecl-indent *css-argdecl-indent*) 
(setq c-label-offset *css-label-offset*) 
; comment 
(setq comment-indent-function 'c-comment-indent) 
(setq comment-start "/* " comment-end " */") 
(setq comment-start-skip "/\\(\\*+\\|/\\)[ \t]*")) 
; hook 
(add-hook '*css-mode-hook* 'css-enhance) 


;; バッファから送るのリスト
; http://www.geocities.jp/madoinu/xyzzy/note/dialog-box.html#buffer-sendto-dialog

(defvar *buffer-send-to-list*
  (list
   '(" Sleipnir" . "C:/progra~1/Sleipnir/sleipnir.exe")
   '(" Phoenix"           . "C:/progra~1/MozillaFirebird/MozillaFirebird.exe")
   '(" Mozilla"           . "C:/progra~1/Mozilla/mozilla.exe")
   '(" 6Opera"             . "C:/progra~1/opera/opera.exe")
   '(" 7Opera"              . "C:/progra~1/opera7/opera.exe")
   '(" NN4"              . "C:/progra~1/netscape/communicator/progaram/netscape.exe")
   ))


;; バッファから送る
(defun buffer-sendto-dialog ()
  (interactive)
  (let ((file (get-buffer-file-name)))
    (when file
      (multiple-value-bind (result data)
          (dialog-box
           '(dialog 0 0 219 100
             (:caption "送っちゃうよ")
             (:font 9 "MS Pゴシック")
             (:control
              (:listbox list nil #x50b10111 7 7 150 82)
              (:button IDOK "送る" #x50010001 162 7 50 14)
              (:button IDCANCEL "送らない" #x50010000 162 24 50 14)))
           (list (cons 'list *buffer-send-to-list*))
           nil)
        (when result
          (let
              ((cmd (cddr (assoc 'list data))))
            (if cmd
                (call-process (map-slash-to-backslash (concat cmd " " file)) :wait nil)
              (message "なにもえらんでない。"))))))))
(global-set-key #\C-]  'buffer-sendto-dialog)

;; 全角スペースを使わない
;; http://www5e.biglobe.ne.jp/~fukafuka/xyzzy/
(defun transfer-auto-quad-space ()
  (interactive "*")
  (when (eq *this-command* 'self-insert-command)
    (let ((cur (preceding-char)))
      (if (eq cur #\ )
          (progn (forward-char -1) (delete-char) (insert #\SPC))))))

(add-hook '*post-command-hook* 'transfer-auto-quad-space)


;; exchange-region-and-selection
;; リージョンとセレクションとトグル変換
             (global-set-key '(#\C-x #\SPC) 'exchange-region-and-selection)
             (global-set-key #\C-F6 'exchange-region-and-selection)
             (set-function-bar-label #\C-F6 "選択<->Region")

;; diff
(setq ed::*diff-command-name*
      (map-slash-to-backslash (merge-pathnames "bin/diff.exe" (user-homedir-pathname))))

;; ステータスバーに文字コード表示
(setq *status-bar-format* "%t%c%u")

;; xml-mode 用
(push '(xml::msxsl 
"~A ~S ~S ~A" 
*msxsl-command* 
(get-buffer-file-name) 
(read-file-name "stylesheet: " :history 'stylesheet) 
(or xml::*xml-user-option* *msxsl-default-options*)) 
*xml-command-alist*)


「未整理の.xyzzy」へコメントをつける

書き込み時の挙動について
URI らしき文字列には自動的にリンクが張られます。また "<" や、">" は実体参照化されます。
スパム対策のため、リファラを切っていると投稿できません。

この記事の永続的 URI ならびに トラックバック ping URI
http://diary.noasobi.net/2003/06/diary_030626a.html