in
というテキストで始まる行を見つけて削除するにはどうしたらいいですか?Emacs:特定のテキストで始まる行を削除するには
C-M-s ^in
というコマンドを使用して、in
で始まるすべての行を検索しますが、実際に何をすべきかわかりません。
in
というテキストで始まる行を見つけて削除するにはどうしたらいいですか?Emacs:特定のテキストで始まる行を削除するには
C-M-s ^in
というコマンドを使用して、in
で始まるすべての行を検索しますが、実際に何をすべきかわかりません。
M-x flush-lines RET ^in RET
C-h f flush-lines
を示しています:
flush-lines
はreplace.el
でインタラクティブコンパイルLisp関数です。
menu-bar edit flush-lines
にバインドされています。
(flush-lines REGEXP &optional RSTART REND INTERACTIVE)
REGEXP
の一致を含む行を削除します。Lispから呼び出されたとき(そして通常対話的に呼び出されるときは、 とよく似ています、以下参照)、ポイントの後ろのバッファの部分に適用されます。 ポイントの後に始まるregexpに一致する が含まれている場合にのみ、ラインポイントが削除されます。
REGEXP
は (\
が先行除く)大文字を含み、search-upper-case
が非nil
ある場合、マッチングは大文字と小文字が区別されます。第2および第3のarg
RSTART
およびREND
は、操作する領域を指定します。 に完全一致が含まれている場合にのみ、この領域に部分的に含まれる行が削除されます。対話的に、マークがアクティブなときにトランジェント・マーク・モードでは、領域の内容について を操作します。それ以外の場合は、ポイントからバッファの(アクセシブルな部分の)末尾の までを操作してください。 Lispからこの関数 を呼び出すときには、 に0以外の
INTERACTIVE
引数を渡すことで、対話的に呼び出されたと見せかけることができます。一致が行間で分割されている場合、一致する行はすべて削除されます。 の前にが削除され、次の試合を探します。したがって、同じ行で別の一致が終了した開始点である が無視されます。
クエリ置換置き換え "in。*" to ""が有効になります。
そして、気づいていなかった人には、 'keep-lines'コマンドが' 'flush-lines'を補完します。これは両方とも非常に便利です。 – phils
@phils:はい。 'delete-matching-lines'と' delete-non-matching-lines'のエイリアスによって、それらを覚えたり、後でそれらを再発見するのに役立ちます。 – Drew