使用emacs
在xml文件中搜索多行 m-x list-matching-lines
<step>D</step>
<alter>0</alter>
<octave>5</octave>
它列出了发生窗口中的所有事件。
但是,如果我搜索多部分行,则会失败。
m-x list-matching-lines
<step*
<alter*
<octave*
Searched 1 buffer; no matches for `<step*^J <alter*^J <octave*'
仅使用
进行搜索m-x list-matching-lines
<step*
也很有效。
上述命令的结果如下:
177: <stem default-y="-57">down</stem>
182: <step>A</step>
190: <stem default-y="-60">down</stem>
200: <step>D</step>
208: <stem>down</stem>
216: <step>D</step>
224: <stem>down</stem>
感谢您的帮助,谢谢。
答案 0 :(得分:1)
<step*
将匹配<ste
和<step
以及<steppppppppp
等等。它是一个正则表达式,而不是shell glob模式。所以肯定不会匹配<step>D</step>
。
使用.*
匹配零个或多个非换行符;不只是*
阅读手册中的正则表达式:
C-h i g (emacs) Regexps
RET
答案 1 :(得分:0)
找到绿色的东西。
m-x list-matching-lines
<step...*
+ C-q C-j RET 会将搜索到的行加上* Occur *窗口中的下一行。
和
m-x list-matching-lines
<step...*
...*
+ C-q C-j RET 带来所需的两行等。