xyzzyを使っている人に質問
xyzzyを使っている人に質問です。
これだけは外せない、と.xyzzyに真っ先に書いてしまう設定、あるいはlisp拡張があれば教えてください。xyzzy wiki(http://xyzzy.s53.xrea.com/wiki/, http://white.s151.xrea.com/wiki/)にかかれているような設定はある程度試していますので、できるだけこのサイトになさそうなものをお願いします。
テキスト編集からコーディングまで、種類は問いません。
ちょっと期待。.xyzzyにはあまり書かない派なのでsiteinit.lを見返したらいくつか発見。佐野さんに書いてもらったのがかなりある。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; C-S-Returnでウィンドウ表示を切り替え ;;; http://xyzzy.s53.xrea.com/wiki/index.php?cmd=read&page=tips%2F%A5%D0%A5%C3%A5%D5%A5%A1%A4%CE%C9%BD%BC%A8%A4%F2%A5%C8%A5%B0%A5%EB&word=set-buffer-fold-type-none-update ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun previous-buffer-fold () (interactive) (case (cond ((set-buffer-fold-type-none-update) 0) ((set-buffer-fold-type-column-update) 1) ((set-buffer-fold-type-window-update) 2)) (2 (set-buffer-fold-type-none) (message "折り返し表示を止めました。")) (0 (set-buffer-fold-type-column) (message "折り返し位置を固定幅にしました。")) (1 (set-buffer-fold-type-window) (message "折り返し位置をウィンドウ幅に合わせました。")) )) (set-extended-key-translate-table exkey-S-C-return #\F23) (global-set-key #\F23 'previous-buffer-fold) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; 編集ファイルをエクスプローラで表示 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (global-set-key #\C-F11 #'(lambda () (interactive) (setq current_file_path (map-slash-to-backslash (directory-namestring (get-buffer-file-name)))) (setq command (concat "explorer.exe " current_file_path)) (call-process command ))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; grepの色を目立つように ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setq *grep-highlight-match* '( :background 4 :underline nil)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ディレクトリを自動作成するfind-file ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun find-file-after-create-directory (filename &optional encoding nomsg) (interactive "lFind file: \n0zEncoding: " :title0 "Find file") (long-operation (if (listp filename) (dolist (file filename) (find-file-after-create-directory file encoding nomsg)) (if (file-exist-p (directory-namestring filename)) (set-buffer (ed::find-file-internal filename nil encoding nil nomsg)) (if t (progn (create-directory (directory-namestring filename)) (set-buffer (ed::find-file-internal filename nil encoding nil nomsg))) (set-buffer (create-new-buffer filename))))))) (global-set-key '(#\C-x #\C-f) 'find-file-after-create-directory) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; tips/.lnkを展開する ;;; http://xyzzy.s53.xrea.com/wiki/index.php?cmd=read&page=tips%2F.lnk%A4%F2%C5%B8%B3%AB%A4%B9%A4%EB&word=.lnk ;;; リンク先を開くようにする ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (add-hook '*before-find-file-hook* #'(lambda (x) (let ((sh (ignore-errors (resolve-shortcut x)))) (when sh (find-file sh) (get-file-buffer sh))))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; tips/ファイルを開く時にセッションファイルならば展開する - Xyzzy Wiki ;;; http://xyzzy.s53.xrea.com/wiki/index.php?cmd=read&page=tips%2F%A5%D5%A5%A1%A5%A4%A5%EB%A4%F2%B3%AB%A4%AF%BB%FE%A4%CB%A5%BB%A5%C3%A5%B7%A5%E7%A5%F3%A5%D5%A5%A1%A5%A4%A5%EB%A4%CA%A4%E9%A4%D0%C5%B8%B3%AB%A4%B9%A4%EB&word=.ssn ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (add-hook '*before-find-file-hook* #'(lambda (x) (when (string-matchp "\\.ssn$" x) (load-session x) (selected-buffer))))
拡張Lispはparenとかrv-regionとかndmacroあたりがどのメジャーモードでも使う感じ。最近はhtmlを書かなくなったので、ほとんどchangememoとこの日記を書くためにしか使っていないな(それと自分のケータイにメールを送るときの本文を*scratch*で書くくらい)。