Next: , Previous: Deletion, Up: Text


31.7 ユーザーレベルの削除コマンド

本節では、テキストを削除する上位レベルのコマンドについて述べます。 これらはLispプログラムでも有用ですが主にユーザー向けのコマンドです。

— コマンド: delete-horizontal-space

この関数は、ポイントの周りの空白やタブをすべて削除する。 nilを返す。

つぎの例では、毎回ポイントを2番目と3番目の文字のあいだに置いて、 各行につき1回ずつdelete-horizontal-spaceを計4回呼び出す。

          ---------- Buffer: foo ----------
          I -!-thought
          I -!-     thought
          We-!- thought
          Yo-!-u thought
          ---------- Buffer: foo ----------
          
          (delete-horizontal-space)   ; Four times.
               ⇒ nil
          
          ---------- Buffer: foo ----------
          Ithought
          Ithought
          Wethought
          You thought
          ---------- Buffer: foo ----------
— コマンド: delete-indentation &optional join-following-p

この関数は、ポイントがある行をそのまえの行に連結する。 連結箇所の白文字は削除し、場合によっては空白1個に置き換える。 join-following-pnil以外であると、 delete-indentationは、この行を後続の行に連結する。 関数はnilを返す。

詰め込み接頭辞があり、かつ、連結対象の2番目の行が その接頭辞で始まっている場合には、 delete-indentationは連結するまえに詰め込み接頭辞を削除する。 see Margins

以下の例では、ポイントは‘events’で始まる行にあり、 そのまえの行の行末に空白があっても違いはない。

          ---------- Buffer: foo ----------
          When in the course of human
          -!-    events, it becomes necessary
          ---------- Buffer: foo ----------
          
          (delete-indentation)
               ⇒ nil
          
          ---------- Buffer: foo ----------
          When in the course of human-!- events, it becomes necessary
          ---------- Buffer: foo ----------

行を連結したあと、 関数fixup-whitespaceには、 連結箇所に空白を置くかどうかを決定する責任がある。

— Function: fixup-whitespace

この関数は、文脈に応じて、 ポイントを囲む白文字すべてを1つの空白に置換するかまったくなくす。 nilを返す。

行の先頭や末尾では、空白の適切な量は0である。 閉じ括弧構文の文字のまえや、 開き括弧構文や式前置子構文の文字のうしろでも空白はないほうが適している。 それ以外では、空白1個が適している。 see Syntax Class Table

以下の例では、最初の行の単語‘spaces’のまえにポイントがあるときに 最初にfixup-whitespaceが呼ばれる。 2度目に呼ばれるときには、ポイントは‘(’の直後にある。

          ---------- Buffer: foo ----------
          This has too many     -!-spaces
          This has too many spaces at the start of (-!-   this list)
          ---------- Buffer: foo ----------
          
          (fixup-whitespace)
               ⇒ nil
          (fixup-whitespace)
               ⇒ nil
          
          ---------- Buffer: foo ----------
          This has too many spaces
          This has too many spaces at the start of (this list)
          ---------- Buffer: foo ----------
— コマンド: just-one-space

このコマンドは、ポイントの周りのすべての空白やタブを1個の空白に置き換える。 nilを返す。

— コマンド: delete-blank-lines

この関数は、ポイントを囲む空行を削除する。 前後に複数の空行がある空行にポイントがある場合、 1つの空行を残してそれ以外はすべて削除する。 孤立した1つの空行にポイントがある場合には、その行を削除する。 空行でない行にポイントがある場合には、 その行のうしろにある空行をすべて削除する。

空行とは、タブや空白のみから成る行と定義する。

delete-blank-linesnilを返す。