在Emacs中,如何删除文件中的所有空行(包括制表符和空格)?
我可以使用正则表达式 ^ [st] * $ 找到空行,但不知道如何用删除替换它。
M-x replace-regexp
可以完成这个任务吗?我可以使用正则表达式 ^ [st] * $ 找到空行,但不知道如何用删除替换它。
M-x replace-regexp
可以完成这个任务吗?M-x flush-lines RET ^[[:space:]]*$ RET
可能是实现这个功能的规范方法。
^
和$
只匹配行的开头和结尾,而不是实际的行结束符。您需要在表达式中显式输入换行符以替换它。
要实现您的目标,请使用replace-regexp。
^[[:space:]]*^J
当输入空文本时,可以使用^J
来表示换行。要输入^J
,先按下Control和Q键,然后再按下Control和J键。在输入框中,这将显示为实际的换行符。
^
(现在已经编辑过了)。为了匹配你原来的规范“包括制表符和空格”,你确实需要 [[:space:]]*
这部分。 - jlahd
M-x flush-lines RET ^$ RET
就可以删除空行。 - Prasanna