next up previous
Next: 7.7 ウィンドウ操作コマンド Up: 7 Emacsの基本編集関数 Previous: 7.5 編集用関数

7.6 バッファ操作関数

バッファ(buffer)は,編集するテキストを収めているLispオブジェクトである.バッ ファは訪問しているファイルのテキストを保持するために使うが,ファイル を訪問していないバッファもある. 一度に複数のバッファが存在してもよいが,ある時点では1つだけのバッ ファがカレントバッファ(current buffer)として区別される. ほとんどの編集コマンドはカレントバッファの内容に作用する.カレントバッ ファを含む各バッファはウィンドウに表示されることもされないこともある.



表 4: バッファ操作コマンド
バッファ操作コマンド
(get-buffer name) nameというバッファオブジェクトを返す
(toggle-read-only) ファイルの属性を交互変更
(bury-buffer buffer-or-name)
(kill-buffer buffer-or-name)
(make-indirect-buffer)





バッファ操作関数
(get-buffer name) nameというバッファオブジェクトを返す
(get-buffer-create name) 無ければ作る.
(buffer-name buffer) バッファの名前を返す
(set-buffer buffer) 操作対象のバッファをbufferへ切り換える
(switch-to-buffer buffer) 画面表示するバッファも切り換える
(buffer-file-name buffer) バッファと結びついたファイル名を返す
(buffer-modified-p buffer) セーブした後の変更の有無
(set-buffer-modified-p flag) バッファの修正フラグをセット
(kill-buffer buffer) 削除できればt
(get-file-buffer filename) filenameに結合したバッファがあれば返す
(buffer-list) すべてのバッファをリストで返す




バッファ局所変数操作関数
(make-local-variable symbol) バッファ局所変数を作る
(make-variable-buffer-local symbol)
(local-variable-p var buffer) varがbufferで局所変数かどうか
(set-default sym value)
(setq-default var value)
(buffer-local-variables buffer)
(kill-all-local-variables)


たとえば,以下のように用いる.

(make-local-variable 'buffer-local)
buffer-local
(setq buffer-local 'value-in-foo)
value-in-foo
(setq-default buffer-local 'new-default)
new-default
buffer-local
value-in-foo
(default-value 'buffer-local)
new-default
バッファローカル変数を用いる場合には, メジャーモードは,

(defun my-mode ()
  (interactive)
  (kill-all-local-variables)
  キーマップの設定
  メジャーモードの設定
 バッファローカル変数の宣言と設定)

next up previous
Next: 7.7 ウィンドウ操作コマンド Up: 7 Emacsの基本編集関数 Previous: 7.5 編集用関数
generated through LaTeX2HTML. M.Inaba 平成18年5月7日