モード
type: Variable
package: editor
file: defs.l
モード判定用の連想リストです。(key . datum)の組で登録します。
(string-matchp key filename)がnon-nilになった場合に、
datumをfuncallします。
datumにdecode-auto-modeのプロパティが存在する場合には、バッファを
第一引数にしてdatumをfuncallします。
cc-mode.lのdecode-c-modeを参照
使用例:
(pushnew '("\\.asp" . basic-mode) *auto-mode-alist* :test 'equal)
seealso: *find-file-auto-mode-function*
seealso: *auto-mode-parameter-alist*
type: Variable
package: editor
file: files.l
ファイルの先頭のパラメータに対し、実行する関数を指定する alist です。
書式は (文字列 . 関数) となっています。
ファイルの先頭にパラメータ -*- aaa: bbb -*- がある場合、
"aaa" に string-equal な文字列が *auto-mode-parameter-alist* に登録されていれば、
対応する関数を "bbb" を引数にして funcall します。
デフォルト値は
'(("mode" . find-file-auto-mode)
("package" . find-file-buffer-package))
です。
seealso: *find-file-auto-mode-function*
seealso: *auto-mode-alist*
seealso: *buffer-package*
seealso: find-file
type: Variable
package: editor
file: process.l
execute-subprocessの中でcommand-output-mode起動時に実行されます。
type: Variable
package: editor
file: css-mode.l
css-modeで利用するCSS Level 2のキーワードファイルを指定します。
*css-level*が2の場合に読み込まれます。
type: Variable
package: editor
file: css-mode.l
css-modeで利用するCSS Levelを指定します。
デフォルトは 3 (CSS Level 3)です。
補足:
xyzzy 0.2.2.236 から利用可能です。
type: Variable
package: editor
file: css-mode.l
css-mode起動時に実行されます。
type: Variable
package: editor
file: css-mode.l
css-modeで利用するCSS Level 3のキーワードファイルを指定します。
*css-level*が3の場合に読み込まれます。
CSS3用のキーワードファイルはCSSモジュールごとに分かれているので、
必要なモジュールのキーワードのみを読み込むことができます。
デフォルトはCSS Level 3の全モジュール、ブラウザごとの拡張、
HTML4/5 の要素をキーワードとして読み込みます。
;; css-modeで利用するキーワードの設定 (CSS Level 3)
(setq *css3-keyword-files*
'(;; CSS3 modules
"CSS3/2d-transforms"
"CSS3/3d-transforms"
"CSS3/animations"
"CSS3/backgrounds-and-borders"
"CSS3/basic-box"
"CSS3/basic-user-interface"
"CSS3/behavioral-extensions"
"CSS3/color"
"CSS3/flexible-box-layout"
"CSS3/fonts"
"CSS3/generated-and-replaced-content"
"CSS3/hyperlinks"
"CSS3/layout"
"CSS3/line"
"CSS3/lists"
"CSS3/marquee"
"CSS3/multi-column"
"CSS3/paged-media"
"CSS3/presentation-levels"
"CSS3/ruby"
"CSS3/speech"
"CSS3/tables"
"CSS3/text"
"CSS3/transitions"
;; vendor extensions
"CSS3/microsoft-extensions"
"CSS3/mozilla-extensions"
"CSS3/webkit-extensions"
;; HTML elements
"CSS3/html4-elements"
"CSS3/html5-elements"
))
補足:
xyzzy 0.2.2.236 から利用可能です。
type: Variable
package: editor
file: diff.l
diff起動時に実行されます。
type: Variable
package: editor
file: files.l
non-nilなら、ファイルの先頭のエンコーディング情報にUTF-8が記述(-*- Encoding: UTF-8 -*-)
されている場合にBOMなしのUTF-8(utf8n)としてファイルを開きます。
備考:
xyzzy 0.2.2.241 から利用可能です。
seealso: *auto-encoding-alist*
seealso: *find-file-no-auto-encoding*
seealso: find-file
type: Variable
package: editor
file: files.l
find-file の際にモードを設定するための関数を登録します。
ファイルの先頭のパラメータ(-*- Mode: LISP -*- など)や
*auto-mode-alist* よりも優先されます。
seealso: *auto-mode-parameter-alist*
seealso: *auto-mode-alist*
seealso: find-file
type: Variable
package: editor
IMEの切替え時に呼び出されます。
seealso: toggle-ime
type: Variable
package: editor
マイナモードがオンのときにモードラインに表示する文字列の連想リストです。
各要素の car はシンボル、 cdr は文字列かシンボルです。
car に指定したシンボルの値が non-nil であって、 cdr が文字列かまたは値が
文字列であるようなシンボルならば、その文字列がモードラインに表示されます。
使用例:
(pushnew '(edict-mode . "Edict") *minor-mode-alist* :key #'car)
(pushnew '(async-grep-mode . async-grep-status)
*minor-mode-alist* :key #'car)
type: Variable
package: editor
file: tail-f.l
tail-f起動時に実行されます。
seealso: tail-f
type: Function
arguments: abbrev-mode &optional (ARG () SV)
package: editor
file: abbrev.l
abbrev-modeを開始します。
使用例:
(abbrev-mode t)
seealso: quietly-read-abbrev-file
type: Function
arguments: add-hook HOOK FN &optional APPEND
package: editor
file: misc.l
フック変数に関数を追加します。
HOOK : フック変数のシンボルを指定します。
FN : 関数のシンボルを指定します。
フックとは特定の処理においてユーザが望む処理を追加するための仕組みです。
xyzzyには「ユーザが修正したいだろうなぁ」と思うところにフックが仕掛けら
れています。例えば「find-fileするときには何か関数を実行したい」と思った
ら、「find-fileを上書き」したり、「xxx-find-fileを作ったり」するのではな
く、その用途に使えるフック変数がないかどうかを確認しましょう。
下の例はfind-fileする時にfunc1とfunc2を呼び出して何らかの処理をする例です。
【準備処理】
;;; find-fileで呼び出される*before-find-file-hook*に
;;; ユーザが作った関数func1とfunc2が呼び出されるように登録する。
(add-hook '*before-find-file-hook* 'func1)
(add-hook '*before-find-file-hook* 'func2)
【find-file実行時】
;;; find-fileを実行すると、ファイルの読み込みの前で
;;; *before-find-file-hook*に登録されている関数が実行される。
(find-file ...)
└(run-hooks '*before-find-file-hook*)
├(func1)
└(func2)
【後片付け】
;;; find-fileで呼び出される*before-find-file-hook*から
;;; ユーザが作った関数func1とfunc2を取り除く
(delete-hook '*before-find-file-hook* 'func1)
(delete-hook '*before-find-file-hook* 'func2)
なお、フック変数は用途に応じて呼び出され方や戻す値の意味が異なります。注
意しましょう。
使用例:
;;; lispmode.l
(add-hook '*query-kill-buffer-hook* 'kill-scratch-hook)
seealso: delete-hook
seealso: run-hooks
type: Function
arguments: delete-hook HOOK FN
package: editor
file: misc.l
フック変数から関数を削除します。
HOOK : フック変数のシンボルを指定します。
FN : 関数のシンボルを指定します。
seealso: add-hook
type: Function
arguments: toggle-mode VAR ARG SV
package: editor
file: cmds.l
マイナーモードの状態を表す変数VARを設定します。
SVがnilならば状態は反転します。
ARGが負数もしくはnilならば無効になります。
ARGが非負数値もしくはnon-nilならば有効になります。
type: Function
arguments: minor-mode-map &optional BUFFER
package: editor
file: builtin.l
set-minor-mode-mapで設定したキーマップを取得します。
seealso: set-minor-mode-map
type: BufferLocal
package: editor
indent-regionを参照のこと
使用例:
;;; 適当なモードで以下をevalしてみると、
;;; "ラベル:" のような行は行頭からになり、それ以外の行は8桁目からになる。
(progn
(make-local-variable 'mode-specific-indent-command)
(setq mode-specific-indent-command
#'(lambda () (save-excursion
(goto-bol)
(delete-horizontal-spaces)
(or (looking-at "^\\w+:") (indent-to 8))))))
seealso: indent-region
type: Function
arguments: overwrite-mode &optional (ARG () SV)
package: editor
file: cmds.l
上書き用マイナーモードを制御します。 toggle-over と同じです。
seealso: toggle-over
type: Function
arguments: quietly-read-abbrev-file &optional FILE
package: editor
file: abbrev.l
Q.現在、モードを切り替えて且つ abbrev を有効にするには、
┌───────────────────────────────┐
│M-x: sql-mode, │
│M-x: abbrev-mode │
│M-x: read-abbrev-file, │
│Read-abbrev-file: C:/xyzzy/.abbrev_defs │
└───────────────────────────────┘
のように4段階踏まなくてはなりません。最初の M-x: sql-mode の時か、
ファンクションキーに割り当てて一度に行う方法はないもんでしょうか?
A.[xyzzy:02017]赤塚慶さん
.xyzzy に
┌───────────────────────────────┐
│; 起動時に abbrev file を読み込む │
│(quietly-read-abbrev-file) │
└───────────────────────────────┘
とかいておくと、 .abbrev_defs を呼んでくれます。
[xyzzy:02020]亀井哲弥さん
これに加えて、
┌───────────────────────────────┐
│(add-hook 'ed::*sql-mode-hook* #'(lambda () (abbrev-mode t))) │
└───────────────────────────────┘
も書いておけば、M-x sql-mode だけでいけると思います(たぶん)。
seealso: abbrev-mode
type: Function
arguments: run-hook-with-args HOOK &rest ARGS
package: editor
file: builtin.l
run-hooksと同じように関数を実行します。run-hooksと異なり引数を
指定できます。
seealso: run-hooks
type: Function
arguments: run-hook-with-args-until-success HOOK &rest ARGS
package: editor
file: builtin.l
run-hooksと同じように関数を実行します。run-hooksと異なり戻り値
がnon-nilになるまで順番に実行します。
seealso: run-hook-with-args
seealso: run-hook-with-args-while-success
type: Function
arguments: run-hook-with-args-while-success HOOK &rest ARGS
package: editor
file: builtin.l
run-hooksと同じように関数を実行します。run-hooksと異なり戻り値
がnon-nilの間だけ順番に実行します。
seealso: run-hook-with-args
seealso: run-hook-with-args-until-success
type: Function
arguments: run-hooks &rest HOOKLIST
package: editor
file: builtin.l
フック変数を順番に実行します。フック変数の詳細はadd-hookを参照して下さい。
HOOKLIST : フック変数を指定します。複数個並べて書けます。
並べて書いた順番に実行します。
フック変数の実行には引数をつけることが出来ません。
どうしてもつけたい場合には、run-hook-with-argsを使いましょう。
使用例:
;;; c-mode.l
(run-hooks 'c-mode-hook)
seealso: run-hook-with-args
seealso: run-hook-with-args-until-success
seealso: run-hook-with-args-while-success
type: Function
arguments: set-minor-mode-map KEYMAP &optional BUFFER
package: editor
file: builtin.l
マイナーモード用のキーマップを設定します。
seealso: unset-minor-mode-map
seealso: minor-mode-map
type: Function
arguments: toggle-over &optional (ARG () SV)
package: editor
file: cmds.l
上書き用マイナーモードを制御します。 [Insert]
nil以外 上書きモードにする
nil 挿入モードにする
省略時 モードをトグルする
seealso: overwrite-mode
type: Function
arguments: unset-minor-mode-map KEYMAP &optional BUFFER
package: editor
file: builtin.l
マイナーモード用のキーマップを解除します。
seealso: set-minor-mode-map