[検索]
しょぼしょぼすくりぷとxyzzy > カスタマイズするための知識

カスタマイズするための知識

xyzzyを一通り使ったりしたあとは、色々設定したくなると思います。ここでは色々なカスタマイズのための基礎知識を紹介します。

ちなみに xyzzy のインストール下フォルダの htmlの 履歴(history)にカスタマイズに有用な事もあるのでチェックしておくといいかも
~/ は本当は HOME を指しますがここでは [XYZZYHOME]のxyzzy.exeがあるディレクトリを示しています。

カスタマイズのための事前勉強と準備

GUIのダイアログからの設定については、こちらが参考になります(Quick Tour/共通設定 wiki)

xyzzyの実際の設定集

色々設定するのはめんどいという人は、こちらに便利なものがあります。

設定済みxyzzy (セッテイズミxyzzy) プロジェクト日本語トップページ - SourceForge.JP

その他のカスタマイズ概念

変数の設定方法

setq defvarの違い

defvar は変数が未定義な場合のみ設定します。setqはいつでも上書きします。setqとsetの違いは '(クォート) するかしないかの違いだけですので、あまり気にする必要はありません。

defvar,defvar-local,make-local-variablesの違い

defvar:スペシャル変数のようにすべてのモードで同じ値
defvar-localはlocal変数になる それぞれのバッファで別の値を設定できます。paren.lなどが使用しているようです。 全部まとめて設定するには setq-default関数を使うようです。
make-local-variables:指定したバッファでのみ変数が使える。

ツールバーのカスタマイズ

ツールバーのカスタマイズはこちらが参考になります。
リファレンス(wiki)> define-command-bar
Hieさんのツールバー説明ページ
ohkuboさんのツールバー説明ページ
一言書くつもりがだいぶ長くなってしまった。。。
(defun semi-std-tool-bar ()
  (create-tool-bar
   'semi-std-tool-bar
   (merge-pathnames "toolbar.bmp" (etc-path))
   '(("新規作成" 24 new-file)
     ("開く" 22 open-file-dialog)
     ("上書き保存" 20 save-buffer-dialog :modified)
     ("全て保存" 75 save-all-buffers)
     ("読み取り専用トグル" 25 toggle-read-only (lambda () (when buffer-read-only :check)))
     :sep
     ("印刷" 29 print-selected-buffer-dialog)
     :sep
     ("元に戻す" 0 undo :undo)
     ("やっぱり元に戻さない" 1 redo :redo)
     :sep
     ("検索" 5 search-dialog)
     ("前を検索" 3 repeat-backward-search ed::tool-bar-update-search)
     ("次を検索" 4 repeat-forward-search ed::tool-bar-update-search)
     :sep
     ("grep" 74 grep-dialog)
     :sep
     ("折り返さない" 76
      set-buffer-fold-type-none set-buffer-fold-type-none-update)
     ("指定位置で折り返す" 77
      set-buffer-fold-type-column set-buffer-fold-type-column-update)
     ("ウィンドウ幅で折り返す" 78
      set-buffer-fold-type-window set-buffer-fold-type-window-update)
     :sep
     ("最後の編集した行" 38 goto-last-modified-line)
     ("ファイルのフォルダを開く" 26 open-directory-where-current-buffer-file-be) ;独自関数
     ("ファイルをshellで実行" 43 execute-current-buffer) ;独自関数
     ("日付の挿入" 54 insert-date) ;独自関数
     ("共通設定" 56 option-property-sheet)
    )))
(define-command-bar 'semi-std-tool-bar "semi標準(&S)")

(defun insert-date()
 (interactive)
 (insert (format-date-string "%Y/%m/%d(%v) %H:%M")))


(defun execute-current-buffer ()
  (interactive)
  (shell-execute (buffer-name (selected-buffer))))
      
これを.xyzzyに書いて
立ち上げ後、表示 -> ツールバー -> semi標準(&S) でOK
再起動しても表示されているはず。
表示がおかしくなったら、上記のサイトや
cmds.lか usr/ 配下の .xyzzy.historyの *command-bar-list*などを参考にしてみてください。
(defun mode-change-tool-bar ()
  (create-tool-bar
   'mode-change-tool-bar
   (merge-pathnames "modechangetoolbar.bmp" (etc-path))
;   (merge-pathnames "toolbar.bmp" (etc-path))
   '(
     ("Text" 3 text-mode)
     ("HTML+" 2 html+-mode)
     :sep
     ("Lisp" 0 lisp-mode)
     ("Lisp Interaction" 1 lisp-interaction-mode)
     :sep
     ("Perl" 4 perl-mode)
     ("Ruby" 5 ruby-mode)
     ("Python" 8 python-mode)
     :sep
     ("Java" 6 java-mode)
     :sep
     ("JavaScript" 7 javascript-mode)
    )))
(define-command-bar 'mode-change-tool-bar "mode(&m)")
      

パッケージについて学ぶ

リファレンス(wiki) > Type > Tips >パッケージの概要
リファレンス(wiki) > Type > Tips > どの関数の頭に何がつくのでしょうか?<パッケージ名ルール
リファレンス(wiki) > Type > Tips > パッケージ

xyzzy起動時の読み込み順序

xyzzy起動時の読み込み順序
リファレンスでxyzzy起動時の読み込み順序を解説しています。
リファレンス(wiki) > セクション > システム > 起動処理フロー

カスタマイズ

色つけ

マウス

保存情報

ヘルプ

その他のカスタマイズ ライブラリ集

mini lispサンプルライブラリ
自作 しょぼしょぼ lispライブラリです。独自の設定やカスタマイズをしたい時の参考にもどうぞ。

自作 ツール &お遊びlisp集
ちょっと形になってきた lisp ツール集です。xyzzyの設定というより環境改善やツールによるカスタマイズです。

xyzzyで動かせる 自作モード ライブラリ集
自作 mode集です。

FAQぽい lisp tips
設定ややりたい事に詰まった場合ココを見ると、幸せになれることもあるかもしれません。

よく使う lisp
私が勝手に有効と思っているだけかもしれませんが、もしかしたら他の人にとっても良いものかもしれません。

tips directory(wiki)(外)
カスタマイズや設定など xyzzyのちょっとした TIPsです。

その他のカスタマイズ例

dialog(ダイアログ)のカスタマイズ

ダイアログのlisp説明はこちらでしています。
lispによるダイアログ作成方法と使い方

自動でインストールしてくれる CUI型の xyzzyネットインストーラ

NetInstallerは服部さんのページでダウンロード出来ます(Junk Scripts)。

関連リンク

実際にカスタマイズする設定例は以下を見てください。

xyzzy初歩講座
xyzzy初心者向けに、カスタマイズ等のきっかけとなるぺーじ。また機能や概念の説明ページもあります。

しょぼしょぼすくりぷと > xyzzy > カスタマイズ