我的文字遵循以下格式:
HEADER hello
...
...
HEADER neighbour
...
...
...
HEADER test1
HEADER test2
我想选择所有实例HEADER*\n
并将它们复制到新文档中。因此,结果将如下所示:
HEADER hello
HEADER neighbour
HEADER test1
HEADER test2
是否保留空格并不重要。标准的emacs功能可以做到这一点吗?
我的文字遵循以下格式:
HEADER hello
...
...
HEADER neighbour
...
...
...
HEADER test1
HEADER test2
我想选择所有实例HEADER*\n
并将它们复制到新文档中。因此,结果将如下所示:
HEADER hello
HEADER neighbour
HEADER test1
HEADER test2
是否保留空格并不重要。标准的emacs功能可以做到这一点吗?
将整个文档复制到新文档,然后使用delete-non-matching-lines
.
M-x delete-non-matching-lines<RET> ^HEADER<RET>
不是那么简单,但是您可以自己定义这样的函数。就像这里的一样:Emacs 复制匹配行
在缓冲区中,尝试
C-u M-x occur RET ^HEADER.* RET
它应该创建一个仅包含您想要的输出的新缓冲区。然后,您可以切换到该缓冲区并将其保存为文件,或者将其标记为C-x h
然后M-w
将其拉入新缓冲区或您需要的任何内容。
顺便说一句,这不是一个开箱即用的答案,但值得一提的是,有一个名为 all.el 的不错的库,它为 Emacs 提供了相当有用的“all”命令(如果我没记错的话) ) xedit(一个旧的大型机文本编辑器)。图书馆就在这里——你可能也喜欢这种东西。