如何通过Emacs删除文件中的空行?

her*_*rtD 4 regex emacs str-replace

在Emacs中,如何删除文件中的所有空行(包括制表符和空格)?

可以M-x replace-regexp做到的伎俩?

我可以用regexp找到空行:^ [st]*$,但不知道如何通过删除来替换它.

谢谢!

Ste*_*fan 7

M-x flush-lines RET ^[[:space:]]*$ RET 可能是做到这一点的规范方法。

  • 对我来说,仅Mx刷新行RET ^ $ RET`就能删除空行 (2认同)
  • @Prasanna:这取决于您是否认为仅包含几个空格的行是“空”的。 (2认同)

jla*_*ahd 6

^并且$只匹配行的开头和结尾,而不是实际的行尾字符.您可以在表达式中显式键入换行符以替换它.

为了实现您的目标,请替换-regexp

^[[:space:]]*^J
Run Code Online (Sandbox Code Playgroud)

什么都没有(空文本).要进入^J,首先按Control和Q,然后按Control和J.在输入字段中,这将显示为实际的换行.

  • 感谢^ J的提示,我使用Mx replace-regexp ^ Cq Cj <Enter> <Enter>解决了该问题。 (2认同)