我有一个 XML 文件。光是读到这里,我就知道你很兴奋。
现在我想完全删除其中的一些标签:
<qwerty option=1>
<nmo>sdfsdf</nmo>
<blue>sdfsdf</blue>
</qwerty>
这是一个大文件。如何删除所有标签 nmo
和 blue
,包括它们的内容?在 Emacs 或我的 mac 可以使用的任何其他程序中。
最佳答案
Emacs 具有导航符号表达式或“sexps”的命令。在 xml-mode
, sexp 导航命令对标签起作用。您可以导航到开口 <
, 按 C-M-f ( forward-sexp
) 导航到标签的末尾,或按 C-M-k ( kill-sexp
) 终止它。变量 nxml-sexp-element-flag
控制是到达开始标记的末尾(默认)还是结束标记。我更喜欢后者。
要删除这些标签,首先设置 nxml-sexp-element-flag
使用 M-x 自定义变量 nxml-sexp-element-flag。接下来搜索你要杀的标签,把点移到开头<
然后按 C-M-k。将这一切封装在一个宏中,并重复整个文件,直到搜索失败。
关于xml - 删除emacs中某种类型的所有标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15032639/