Previous: その他のkillコマンド, Up: 削除とkill [Contents][Index]
いくつかの特別なバッファーは、読み取り専用(read-only)のテキストを含んでいて、それらは変更できないのでkillもできません。killコマンドは読み取り専用のバッファーにたいして特別な動作をします。バッファーから実際にテキストを削除せずに、killリングにコピーします。通常はビープ音をならし、その旨のエラーメッセージを表示します。しかし変数kill-read-only-ok
を非nil
にセットすると、なぜテキストが消去されないのかをエコーエリアにメッセージ表示します。
killした文字列をkillリングに保存する前に、kill-transform-function
を使用してその文字列を変換できます。これはkillされた文字列で呼び出されて、killリングに保存したい文字列をリターンする必要があります。nil
もリターンでき、その場合には文字列はkillリングに保存されません。たとえば空白のみの文字列をkillリングに保存したくなければ、以下のようにできます:
(setq kill-transform-function (lambda (string) (and (not (string-blank-p string)) string)))
変数kill-do-not-save-duplicates
を非nil
に変更すると、同じものにたいするkillは重複なくkillリングの1つのエントリーとなります。