我想搜索和替换,说::
然后用一个:
和一个替换所有实例C+k
M+%
我当时::
和最后都试过了,:C+qC+k
但它只是让我^K
实际显示在文本中,并没有杀死这条线。
想法?
编辑#1:为了完整起见,数据如下所示:
here:: stuf i dont want
more:: oth crud
etc:: I am wicked
创建一个键盘宏,您首先在其中搜索::
,删除最后一个:
,然后点击C-k
。只要匹配,就执行该键盘宏。我就是这样做的:-)
我发现很难理解你实际上想要做什么,但这可能只是我。
1)如果您拥有以下内容:
foo
:: bar
baz
你想要的是这个:
foo
:
baz
那么您可以像这样使用正则表达式搜索/替换:M-C-% : : . * RET : RET. 这将调用query-replace-regexp
您传递双冒号的函数,后跟.*
以匹配该行的其余部分。您用一个冒号替换任何匹配项。
(请注意,M-C-%如果您在控制台 ( ) 中运行 Emacs 可能不起作用,-nw
因为并非所有终端都能产生所需的转义序列。在这种情况下,只需键入即可M-x query-replace-regexp。)
2)如果您拥有以下内容:
foo
::
bar
你想要的是这个:
foo
:bar
那么您只需在搜索模式中包含回车符:M-% : : C-q C-j RET : RET. 请注意,这不需要正则表达式搜索,普通的字符串搜索可以用于此目的。
3)如果您有以下情况:
foo
:: bar
baz
你想要的是这个:
foo
:baz
那么您可以结合上述两种技术并执行以下操作:M-C-% : : . * C-q C-j RET : RET. 在这里,我们在正则表达式搜索模式中包含回车。