テキスト
Type: Variable
Package: editor
File: encoding.l
文字エンコーディングのリストです。ミニバッファからの入力補完候補のリスト
や file-name-dialog のエンコーディングのリストとして使われたりするみたい
です。
文字エンコーディングはクオートしてはいけないみたいですので、定義しなおす
時は注意してください。
Type: Function
Arguments: *do-completion STRING TYPE &optional WORDP LIST
Package: editor
File: builtin.l
指定した文字列を条件に従い補完します。
STRING : 補完したい文字列
TYPE : 補完する型
:symbol-name
:function-name
:command-name
:variable-name
:non-trivial-symbol-name
:exist-file-name
:file-name
:file-name-list
:directory-name
:buffer-name
:exist-buffer-name
:list
:list-ignore-case
WORD : nilでなければ単語ごとの補完
LIST : TYPE が :list か :list-ignore-case の場合の補完リスト
戻り値は以下のとおりです。
多値で3つの値が戻ってきますので、multiple-value-bind で受け取るといい
でしょう。complete.lの中にある do-completion-internal を参考にしてくだ
さい。以下は場合分けをしています。
[1] 補完の候補が存在しない場合 :no-completions と nil
[2] マッチする候補がなかった場合 :no-match と nil
[3] 与えられた文字列がすでに候補の
いずれかと一致していて
補完する必要がない場合
[3.1] 一致した候補が一つだけ :solo-match と list と prefix
[3.2] 複数と一致した場合 :not-unique と list と prefix
[4] 補完した場合 補完した結果の文字列と list と prefix
list は、一致した候補のリスト。
prefix は、例えばファイル名の補完のときのディレクトリ名とか。
Type: Variable
Package: editor
File: region.l
引用を表す接頭子です。具体的には、quote-regionしたときにリージョンの行頭
に挿入する文字列です。
参考:
;;; 初期値ではこんなものが設定されています。
(defvar *quotation-prefix* "| ")
Type: Function
Arguments: auto-fill-mode &optional (ARG () SARG)
Package: editor
File: fill.l
自動詰め込みモードの開始と終了をトグルします。
Type: Function
Arguments: buffer-fold-width &optional BUFFER
Package: editor
File: builtin.l
折り返しの状態を返します。
BUFFER : 状態を取得するバッファ
戻り値は以下のとおりです。
t ウィンドウ幅で折り返す
nil 折り返しをしない
数値 その幅で折り返しをします。
多値で返ってきている t の意味は不明です。
SeeAlso: set-buffer-fold-width
Type: Function
Arguments: clear-all-text-attributes
Package: editor
File: builtin.l
set-text-attributeで設定した属性を全部消します
SeeAlso: delete-text-attributes
Type: Function
Arguments: dabbrev-expand &optional ARG
Package: editor
File: dabbrev.l
動的略称展開により候補を順番に表示します。
Type: Function
Arguments: delete-backward-char-or-selection &optional (N 1)
Package: editor
File: cmds.l
セレクションがあればセレクション全体を、そうでなければカーソルの後方の
文字を削除します。[C-h]
SeeAlso: delete-char-or-selection
Type: Function
Arguments: delete-char &optional (N 1)
Package: editor
File: cmds.l
指定文字数分だけ削除します。
Type: Function
Arguments: delete-char-or-selection &optional (N 1)
Package: editor
File: cmds.l
セレクションで選択中ならばセレクション全体を、そうでなければカーソルの位
置の文字を削除します。delete-charとはセレクション時の動作が異なります。
SeeAlso: delete-char
Type: Function
Arguments: delete-horizontal-spaces
Package: editor
File: cmds.l
同一行内のカーソル位置の前後の空白を削除します。
Type: Function
Arguments: delete-text-attributes TAG &key :test :test-not :key
Package: editor
File: builtin.l
set-text-attributeで指定したタグの属性を消します
Type: Function
Arguments: delete-trailing-spaces
Package: editor
File: cmds.l
行末のスペースを削除します。
Type: Function
Arguments: detect-char-encoding STRING-OR-STREAM
Package: editor
File: builtin.l
STRING-OR-STREAM の文字エンコーディングを判定します。
Type: Function
Arguments: do-completion FROM TO TYPE &optional COMPL WORD LAST-CHAR (POPUP-P *POPUP-COMPLETION-LIST-DEFAULT*)
Package: editor
File: complete.l
テキストの補完をします。
詳細は*do-completionを参照して下さい。
使用例:
;;; カーソルの直前のパスを補完します。
(do-completion (point)
(progn (skip-syntax-spec-backward "^ ") (point))
:file-name)
Type: Function
Arguments: expand-abbrev
Package: editor
File: abbrev.l
カーソル位置で静的略称展開を行います。
abbrev-mode の時は self-insert-command でも実行されます。
SeeAlso: abbrev-mode
Type: Function
Arguments: find-text-attribute TAG &key :start :end :from-end :test :test-not :key
Package: editor
File: builtin.l
set-text-attributeで指定したタグを検索します。
(progn
(set-text-attribute 1 6 'my-tag 1)
(multiple-value-bind (from to tag)
(find-text-attribute 'my-tag)
(format t "~d, ~d, ~A" from to tag)))
==> 1, 6, my-tag
| 2. set-text-attribute で、複数範囲に同一 tag を指定した場
| 合、find〜 は一番先頭に近いものしか返さない(ところしか
| 見たことがない)のですが、二番目以降を取得することはで
| きますでしょうか?
find-text-attribute TAG :start POS
で、POS に現在位置+1を与えれば次のが返ってくる予定です。
使ったことないので動くかどうか分かりませんが。
| 3. find-text-attribute の &key 引数は、何か意味を持ってい
| ますでしょうか?
シーケンスと同様に、:test と :test-not には比較関数を
与えます。また、:key にはアクセス関数(か?)を与えます。
たとえば、tag の形式が
("foo" bar)
である場合、
(find-text-attribute "foo" :test #'equal :key #'car)
とか、
(find-text-attribute 'bar :test #'eq :key #cadr)
で検索することができる予定です。使ったことないので動く
かどうか分かりませんが。
:test-not は、関数が nil を返した場合に真とする以外は :
test と同様です。:test と :test-not は同時に指定するこ
とはできず、省略した場合は :test #'eql が与えられたも
のとします。また :key を省略した場合は :key #'identity
が与えられたものとします(たぶん)。
Type: Function
Arguments: find-text-attribute-point POINT
Package: editor
File: builtin.l
POINT の位置のテキストの属性を多値で返します。
FROM 属性を付加された開始位置
TO 属性を付加された終了位置
TAG 個々の属性を区別するタグ
FOREGROUND 文字色
BACKGROUND 背景色
BOLD ボールド
UNDERLINE 下線付き
STRIKE-OUT 取り消し線
PREFIX 不明
EXTEND 不明
使用例:
;;; my-tagというタグ名で領域を緑色に設定
(set-text-attribute (point-min) (point-max) 'my-tag :foreground 2)
=> t
;;; カーソル位置にタグがあれば赤色かつボールドに変更
(multiple-value-bind (from to tag foreground background bold underline strike-out prefix extend)
(find-text-attribute-point 1)
(when tag
(modify-text-attributes tag ; foregroundとbold以外はそのまま設定する。
:foreground 1 ; 赤色に設定
:background background
:bold t ; ボールドに設定
:underline underline
:strike-out strike-out
:prefix prefix
:extend extend)))
=> t
SeeAlso: modify-text-attributes
SeeAlso: find-text-attribute
Type: Function
Arguments: following-char
Package: editor
File: builtin.l
カーソルがある位置のキャラクタを返します。
バッファの末尾にカーソルがある場合には、#\NULを返します。
使用例:
;;; "長崎市"の'崎'の上にカーソルがある場合
(following-char)
=> #\崎
;;; [EOF]にカーソルがある場合
(following-char)
=> #\NUL
(following-char)
SeeAlso: preceding-char
Type: Function
Arguments: indent-to COLUMN
Package: editor
File: builtin.l
指定された桁数までインデントします。現在のカーソル位置が引数より小さけれ
ばスペースを挿入します。そうでなければ何もしません。
COLUMN : インデントする桁数を指定します。
戻り値は以下のとおりです。
t インデントした場合
nil 何もしなかった場合
Type: Function
Arguments: insert &rest STRING-OR-CHAR
Package: editor
File: builtin.l
文字列をバッファに挿入します。
STRING-OR-CHAR : 挿入する文字列を指定します。
&restで受けられているので何個でもOKです。
履歴:
xyzzyのバージョン0.0.0.45.1よりまえのバージョンでは
Emacsとinsertの仕様が、やや異なっていました。
;;; Emacsの場合
(insert "abc" "def" "ghi")
=> "abcdefghi"が挿入される
;;; xyzzyの場合
(insert "ab" 4)
=> "abababab"が挿入される
xyzzyのバージョン0.0.0.45.1以降、Emacsとのinsert互換性が高まって
います。
(insert "foo") => foo ; 今までと同じ
(insert "foo" 2) => foofoo ; 今までと同じ
(insert "foo" "bar") => foobar ; Emacsと同じ
(insert "foo" "bar" 2) => foobarfoobar
(insert #\f "o" #\o) => foo ; Emacsと同じ
(insert #\f "o" #\o 2) => foofoo
(insert 2) => エラー
(insert "foo" 2 "bar") => エラー
(insert 102 111 111) => エラー ; Emacsは => foo
Type: Function
Arguments: map-char-encoding-region P1 P2 &optional ENCODING
Package: editor
File: kanji.l
リージョンの文字列データを文字エンコーディングが ENCODING のデータとして、
xyzzy内部コードへ変換します。
ENCODING が指定されない時は自動判定します。
Type: Function
Arguments: modify-text-attributes TAG &key :foreground :background :bold :underline :strike-out :prefix :extend :start :end :test :test-not :key
Package: editor
File: builtin.l
set-text-attributeで付けた領域の属性を変更します。
属性は引き継がれません。
例えば、set-text-attributeでは:underline tとしてから、
modify-text-attributeで:strike-out tとしても、
下線と取り消し線の両方が表示される訳ではありません。
TAG set-text-attributeで指定したタグ
:bold ボールドで表示するかどうか
:underline 下線付きで表示するかどうか
:strike-out 取り消し線を表示するかどうか
:foreground 文字色を整数で指定
:background 背景色を整数で指定
:prefix 使い方は不明
:extend 行末の改行文字以降も変えるかどうか
使用例:
;;; バッファ全体をに下線を付けてから取り消し線にする。
(set-text-attribute (point-min) (point-max) 'all :bold t :foreground 1)
=> t
(modify-text-attributes 'all :strike-out t)
=> t
(delete-text-attributes 'all)
=> t
SeeAlso: set-text-attribute
SeeAlso: set-text-color
Type: Function
Arguments: newline &optional (ARG 1)
Package: editor
File: cmds.l
改行を挿入します。[RET]
Type: Function
Arguments: open-line &optional (ARG 1)
Package: editor
File: cmds.l
カーソル位置を変えないで改行を挿入します。[C-o]
Type: Function
Arguments: overwrite-char C &optional (ARG 1)
Package: editor
File: cmds.l
文字を上書きします。
使用例:
;;; 半角空白で上書きする。
(overwrite-char #\SPC)
=> t
Type: Function
Arguments: preceding-char
Package: editor
File: builtin.l
カーソルの前の文字を返します。
バッファの先頭にカーソルがある場合には、#\NULを返します。
使用例:
;;; カーソルの直前が#\LFDか?つまりカーソルは行頭にあるか?
(char= (preceding-char) #\LFD)
=> t
SeeAlso: following-char
Type: Function
Arguments: self-insert-command &optional (ARG 1)
Package: editor
File: cmds.l
最後に入力されたキー*last-command-char*を挿入モードの如何により
insert/overwrite-charします。
括弧が入力された時に強調表示がなされるのもこの中での作用です。
SeeAlso: *auto-fill-hook
Type: Function
Arguments: set-buffer-fold-width WIDTH &optional BUFFER
Package: editor
File: builtin.l
テキストの折り返し方法を制御します。[ツール]-[ローカル設定]-[表示]の"テ
キストの折り返し"と同じで、現在のバッファだけに影響します。
WIDTH : 折り返しの方法を指定します。
nil 折り返しません。
t ウィンドウの幅で折り返します。
数値 折り返し位置を指定します。
BUFFER : ローカル設定するバッファを指定します。
Type: Function
Arguments: set-tab-columns COLUMN &optional BUFFER
Package: editor
File: builtin.l
タブ幅を設定します。
COLUMN : タブ幅を指定します。1以上32以下の任意の整数です。
2のべき乗である必要はありません。
BUFFER : タブ幅を変更するバッファを指定します。
指定がなければカレントバッファが対象になります。
SeeAlso: tab-columns
Type: Function
Arguments: set-text-attribute FROM TO TAG &key :foreground :background :bold :underline :strike-out :prefix :extend
Package: editor
File: builtin.l
リージョンに色などの属性を付けます。
付けた属性はdelete-text-attributeで消せます。
一括して消す場合には、clear-all-text-attributesを使用します。
FROM 属性を付加する開始位置
TO 属性を付加する終了位置
TAG 個々の属性を区別するタグ
:bold ボールドで表示するかどうかを
:underline 下線付きで表示するかどうかを
:strike-out 取り消し線を表示するかどうか
:foreground 文字色を整数で指定
:background 背景色を整数で指定
:prefix 使い方は不明
:extend 行末の改行文字以降も変えるかどうか
色の整数について:
[ツール]-[共通設定]-[フォント]のところにある表示色になります。
:foreground 0 : 文字色
1〜15 : 文字1〜文字15
:background 0 : 背景色
1〜15 : 背景1〜背景15
15 より大きい値を指定すると,0〜15 の色が繰り返されます。
使用例:
;;; バッファ全体を文字1の色にする。
(set-text-attribute (point-min) (point-max) 'all :bold t :foreground 1)
=> t
(delete-text-attributes 'all)
=> t
SeeAlso: modify-text-attributes
SeeAlso: set-text-color
SeeAlso: find-text-attribute
Type: Function
Arguments: set-text-color FROM TO &optional FOREGROUND BACKGROUND CHAR EXTEND-P
Package: editor
File: cmds.l
指定された領域を装飾します。
FROM : 開始位置を指定します。
TO : 終了位置を指定します。
FOREGROUND : 文字の色を番号で指定します。以下を参照
BACKGROUND : 文字の色を番号で指定します。以下を参照
CHAR : (詳細不明)
EXTEND-P : (詳細不明)
参考:
;;; 番号と色の対応
R G B
------------
0 0 0 0
1 255 0 0
2 0 255 0
3 255 255 0
4 0 0 255
5 255 0 255
6 0 255 255
7 255 255 255
8 0 0 0
9 128 0 0
10 0 128 0
11 128 128 0
12 0 0 128
13 128 0 128
14 0 128 128
15 128 128 128
補足:
この関数は Version 0.0.0.92 にて obsolete となりました。
SeeAlso: set-text-attribute
Type: Function
Arguments: smart-indentation COLUMN
Package: editor
File: cmds.l
行頭からcolumn文字インデントします。
*smart-indentation*がtの時は適度にサボったりするみたいです。
SeeAlso: *smart-indentation*
SeeAlso: indent-to
Type: Function
Arguments: split-line
Package: editor
File: cmds.l
カーソル位置から行末までのテキストを縦に 1 行下げ、2 行に分割します。[ESC C-o]
Type: Function
Arguments: tab-columns &optional BUFFER
Package: editor
File: builtin.l
タブ幅を返します。タブ幅はset-tab-columnsで設定できます。
BUFFER : タブ幅を返すバッファを指定します。
指定がなければカレントバッファが対象となります。
SeeAlso: set-tab-columns
Type: Function
Arguments: transpose-chars &optional (ARG 1 F)
Package: editor
File: cmds.l
ポイントのひとつ前の文字を、ポイントの位置の文字と交換します。
ポイント自体はひとつ前に進みます。