正则删除文档中的空行

下面的文档

#+BEGIN_SRC shell 
ls  ~ | head 
#+END_SRC

#+RESULTS:
| $tty            |
| 8022            |
| anaconda3       |
| Desktop         |
| Documents       |
| Downloads       |
| exclude-me.txt  |
| geckodriver.log |
| index.html      |
| Jupyter         |

文档内有几百个这样的代码块, 看着很不连贯, 想用正则去掉 #+END_SRC #+RESULTS:之间的空行

M-x调用 replace-regex 尝试了以下的匹配:

[[:space:]]*\(#+RESULTS:\) → \1
^[[:space:]]*\(#+RESULTS:\) → \1
\(#+END_SRC\)[[:space:]]*\(#+RESULTS:\) → \1\2
^[[:space:]]*\(#\+RESULTS:\) → \1

都删不掉,

请教, 应该怎样匹配?

[[:space:]]*
\(^#\+RESULTS:\)

替换为\1。用 C-q C-j在minibuffer输入换行

1 个赞

最后一个可以,不过感觉不好输入,试试简单的 Pattern,两个换行加个 #+RESULTS 的情况改成一个换行:

^J^J#\+RESULTS -> ^J#+RESULTS

^J 代表换行,楼上有介绍如何输入。

1 个赞

棒, space替换成blank正好. 为什么 [\t\n]等不好用?