2017-11-29 11 views

答えて

3

M-x flush-lines RET ^in RET

C-h f flush-linesを示しています:

flush-linesreplace.elでインタラクティブコンパイルLisp関数です。

menu-bar edit flush-linesにバインドされています。

(flush-lines REGEXP &optional RSTART REND INTERACTIVE)

REGEXPの一致を含む行を削除します。

Lispから呼び出されたとき(そして通常対話的に呼び出されるときは、 とよく似ています、以下参照)、ポイントの後ろのバッファの部分に適用されます。 ポイントの後に始まるregexpに一致する が含まれている場合にのみ、ラインポイントが削除されます。

REGEXPは (\が先行除く)大文字を含み、search-upper-caseが非nilある場合、マッチングは大文字と小文字が区別されます。

第2および第3のargRSTARTおよびRENDは、操作する領域を指定します。 に完全一致が含まれている場合にのみ、この領域に部分的に含まれる行が削除されます。

対話的に、マークがアクティブなときにトランジェント・マーク・モードでは、領域の内容について を操作します。それ以外の場合は、ポイントからバッファの(アクセシブルな部分の)末尾の までを操作してください。 Lispからこの関数 を呼び出すときには、 に0以外のINTERACTIVE引数を渡すことで、対話的に呼び出されたと見せかけることができます。

一致が行間で分割されている場合、一致する行はすべて削除されます。 の前にが削除され、次の試合を探します。したがって、同じ行で別の一致が終了した開始点である が無視されます。

+1

そして、気づいていなかった人には、 'keep-lines'コマンドが' 'flush-lines'を補完します。これは両方とも非常に便利です。 – phils

+2

@phils:はい。 'delete-matching-lines'と' delete-non-matching-lines'のエイリアスによって、それらを覚えたり、後でそれらを再発見するのに役立ちます。 – Drew

0

クエリ置換置き換え "in。*" to ""が有効になります。

関連する問題