Previous: , Up: 削除とkill   [Contents][Index]


12.1.4 killのオプション

いくつかの特別なバッファーは、読み取り専用(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つのエントリーとなります。