Emacs:如何删除以特定文本

时间:2017-11-29 21:18:11

标签: search replace emacs

如何查找和删除以文字in开头的行?

我使用命令C-M-s ^in查找以in开头的所有行,但后来我真的不知道该怎么做。

2 个答案:

答案 0 :(得分:6)

<强> 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调用时(通常以交互方式调用时)   好吧,见下文),适用于点后缓冲区的部分。   当且仅当包含a时,将删除该行点   匹配regexp从点开始。

     

如果REGEXP包含大写字母(不包括\前面的字符)   search-upper-case为非nil,匹配区分大小写。

     

第二个和第三个arg RSTARTREND指定要操作的区域。   当且仅当时,将删除此区域中部分包含的行   它们包含完全包含在其中的匹配。

     

交互式地,当标记处于活动状态时,在瞬态标记模式下运行   关于该地区的内容。否则,从点到操作   缓冲区的(可访问部分)的结尾。调用此函数时   来自Lisp,你可以假装通过传递以交互方式调用它   一个非零INTERACTIVE参数。

     

如果匹配是跨行拆分的,则删除它所在的所有行。   它们会在之前删除以查找下一个匹配项。因此,匹配   从另一场比赛结束的同一行开始被忽略。

答案 1 :(得分:1)

query-replace-regexp&#34; in。*&#34;到&#34;&#34;会工作。你不应该输入&#34;到提示